Remplacer un ensemble de valeurs en javascript
Un petit point sur une particularité de la fonction replace en javascript qui ne permet pas de remplacer l’ensemble des valeurs choisies, mais la première occurrence trouvée. Voilà donc comment faire en sorte que l’ensemble des valeurs d’une chaine soit remplacées par celle choisie.
Prenons la variable suivante :
var texte = "110.90.120.34";
Si vous souhaitez par exemple remplacer les points par des tiret (« - »), vous aurez tendance à vouloir utiliser ceci :
texte.replace('.', '-');
Or ce code remplacera la variable texte par ceci "110-90.120.34". Seul le premier point a été remplacé par un tiret.
Pour remplacer correctement tous les points vous devez alors utilisez ce code ci :
texte.replace(/\./g, '-');
Vous aurez maintenant le résultat escompter.
À noter que si ce n’est pas des points mais par exemple le caractère « a » que vous voulez remplacer, il faudra utiliser "/a/g". Si vous souhaitez remplacer « abc » il faudra utiliser "/abc/g". Si vous ne souhaitez pas tenir compte de la case (majuscule/minuscule) lors du remplacement : "/abc/gi".
Catégories : Javascript
Par Guillaume le 05/11/2013 à 03:23