Remplacez les espaces par des tirets et faites toutes les lettres en minuscule

J’ai besoin de reformater une chaîne en utilisant jQuery ou vanilla JavaScript

Disons que nous avons "Sonic Free Games" .

Je veux le convertir en "sonic-free-games" .

Les espaces blancs devraient donc être remplacés par des tirets et toutes les lettres converties en petites lettres.

Une aide à ce sujet s’il vous plaît?

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

 var str = "Sonic Free Games"; str = str.replace(/\s+/g, '-').toLowerCase(); console.log(str); // "sonic-free-games" 

Notez l’indicateur 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 caractères d’espace blanc.

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’object d’origine. Ils renvoient un nouvel object. Ce doit être:

 var str = "Sonic Free Games"; str = str.replace(/\s+/g, '-').toLowerCase(); //new object assigned to var str 

Vous pouvez également utiliser split et join :

 "Sonic Free Games".split(" ").join("-").toLowerCase(); //sonic-free-games