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 variable est de type entier en javascript
Afficher un message avant de quitter une page
Fonction Javascript pour récupérer la valeur d'un cookie
Parcourir tous les éléments d'une classe CSS en Javascript
Savoir si une variable est définie en javascript
Défilement continu horizontal ou vertical d'une bande d'images en javascript
Ajouter un saut de ligne dans une alert javascript
Parcourir les classes d'un élément HTML en JavaScript
Récupérer l'URL de la page courante
Ouvrir une fenêtre popup sur lien HTML
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