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 ce tuto qui va m�aider !
par inconnu, le 10/04/2018
Merci pour l'info
par inconnu, le 30/05/2013
Commenter le Mémo :

Afficher un message avant de quitter une page
Non prise en charge de addEventListener par IE < 9
Parcourir les classes d'un élément HTML en JavaScript
Créer un bouton imprimer sur sa page web
Savoir si une variable est définie en javascript
Format e-mail et téléphone portable
Créer un effet d'opacité sur le survol d'une image
Parcourir tous les éléments d'une classe CSS en Javascript
Vérifier qu'une chaine est constituée de caractères alphanumériques
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