JavaScript - Remplacer espace par tiret et mettre toutes les lettres en minuscules

J’ai besoin de reformater une chaîne de caractères en utilisant JavaScript ou jQuery.

Disons que nous avons "Remplacer espace par tiret".

Je veux le convertir en "remplacer-espace-par-tiret".

Les espaces doivent donc être remplacés par des tirets et toutes les lettres doivent être converties en minuscules.

Vous pouvez m’aider ?

Il suffit d’utiliser les méthodes replace et toLowerCase, par exemple :

var str = "Remplacer espace par tiret";
str = str.replace(/\s+/g, '-').toLowerCase();
console.log(str); // "remplacer-espace-par-tiret"

Notez le drapeau g sur le RegExp, il effectuera le remplacement globalement dans la chaîne, s’il n’est pas utilisé, seule la première occurrence sera remplacée, et aussi, ce RegExp correspondra à un ou plusieurs espace.

La réponse ci-dessus peut être considérée comme un peu confuse. Les méthodes String ne modifient pas l’objet original. Elles retournent un nouvel objet. Il doit l’être :

var str = "Remplacer espace par tiret";
str = str.replace(/\s+/g, '-').toLowerCase();

Vous pouvez également utiliser les fonctions « split » et « join » :

"Remplacer espace par tiret".split(" ").join("-").toLowerCase();

Voir aussi: