J'ai besoin de reformater une chaîne en utilisant jQuery ou vanilla JavaScript
Disons que oui "Sonic Free Games"
.
Je veux le convertir en "sonic-free-games"
.
Les espaces doivent donc être remplacés par des tirets et toutes les lettres converties en minuscules.
Une aide à ce sujet s'il vous plaît?
str.replace(/\W+/g, '-').toLowerCase();
replace(/\s+/g, ..
et nonreplace('/\s+/f', ..
(sans apostrophes)String.prototype.trim
méthode:str.trim().replace(/\s+/g, '-').toLowerCase()
La réponse ci-dessus peut être considérée comme un peu déroutante. Les méthodes de chaîne ne modifient pas l'objet d'origine. Ils retournent un nouvel objet. Ce doit être:
la source
Vous pouvez également utiliser
split
etjoin
:la source
La réponse de @ CMS est très bien, mais je tiens à noter que vous pouvez utiliser ce package: https://github.com/sindresorhus/slugify , qui le fait pour vous et couvre de nombreux cas marginaux (par exemple, les trémas allemands, vietnamien, arabe , Russe, roumain, turc, etc.).
la source
la source