le MEMO du WEB développeur
••• Javascript •••  Liste des Mémos, astuces et bonnes pratiques

Replace() ou Remplacer une chaîne de caractères par une autre en Javascript

En javascript la fonction replace permet de remplacer une chaîne de caractère par une autre (remplacer un mot par un autre mot dans une phrase par exemple)

replace (chaîne à remplacer, chaîne de remplacement)

Fonction replace javascript simple 

<script>
  var machaine='ma voiture est rouge';
  machaine=machaine.replace('rouge','verte');
  alert (machaine); // Affichera "ma voiture est verte"
</script>

Par contre cette fonction ne remplacera qu'une instance de la chaîne à remplacer.

<script>
  var machaine="J'ai une maison bleue et une voiture bleue";
  machaine=machaine.replace('bleue','verte');
  alert (machaine); // Affichera "J'ai une maison verte et une voiture bleue";
</script>

Fonction replace javascript pour remplacer toutes les instances de la chaîne 

Pour permettre de remplacer en javascript toutes les occurences de la chaîne à remplacer et non plus seulement la première occurance voici la fonction replaceAll suivante qui utilise les expressions régulières et le paramètre type (l'expression est analysée globalement sur l'ensemble de la chaîne) :

<script>
 function replaceAll(machaine, chaineARemaplacer, chaineDeRemplacement) {
   return machaine.replace(new RegExp(chaineARemaplacer, 'g'),chaineDeRemplacement);
 }
 var machaine="J'ai une maison bleue et une voiture bleue";  
  machaine=machaine.replace('bleue','verte');
 alert (replaceAll(machaine, 'bleue', 'verte')); 
</script>

Fonction Replace javascript en ignorant la casse 

Et pour finir, si l'on veut que la fonction de remplacement ignore la casse, (c'est à dire qu'elle remplace la chaineARemplacer indépendamment que celle ci contienne des majuscules ou minuscule),
il faut alors rajouter l'option i dans la fonction.

<script>
  function replaceAllSansCasse(machaine, chaineARemaplacer, chaineDeRemplacement) {
     return machaine.replace(new RegExp(chaineARemaplacer, 'gi'),chaineDeRemplacement);
  }
  var machaine="J'ai une maison bleue et une voiture BleuE"  
   machaine=machaine.replace('bleue','verte');
  alert (replaceAllSansCasse(machaine, 'bleue', 'verte')); 
</script>

L'alerte affichera bien "J'ai une maison verte et une voiture verte"  

publié le 23/02/2012 par Memo Web
ChaînesExpression régulière
Commentaire :
Merci pour l'info
par inconnu, le 30/05/2013
Commenter le Mémo :

Vérifier qu'une chaine est constituée de caractères alphanumériques
Valider un formulaire en javascript
Ouvrir une fenêtre popup sur lien HTML
Créer un bouton imprimer sur sa page web
Fonction Javascript pour récupérer la valeur d'un cookie
Non prise en charge de addEventListener par IE < 9
Vérifier qu'une variable est de type entier en javascript
Parcourir tous les éléments d'une classe CSS en Javascript
Afficher un message avant de quitter une page
Récupérer la valeur ou le texte sélectionné d'un élément SELECT dans un formulaire
Ajoutez vos propres Mémos sur MEMO-WEB

Il suffit de vous créer un compte sur le site

Vous pourrez choisir un thème parmis l'une des catégories proposées par MEMO-WEB.

Rédigez votre Mémo.
Après validation par MEMO-WEB, il sera mis en ligne.
Ajouter vos Mémos