le MEMO du WEB développeur
 

••• Manipulation de chaînes •••   Liste des Mémos, astuces et bonnes pratiques

Fonction PHP pour réduire une chaîne à ses n premiers mots - PHP
Comment formater un grand nombre à l'affichage pour le rendre plus lisible (en PHP) - PHP
Mettre en gras les occurrences d'un mot dans une phrase en PHP - PHP
Suppession des accents dans une phrase en PHP - PHP

Replace() ou Remplacer une chaîne de caractères par une autre en Javascript - 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 - PHP
Format e-mail et téléphone portable - Javascript
Formater une chaine en URL - PHP
Comment récupérer ou supprimer l'extension d'un fichier en PHP ? - PHP
Vérifier qu'une chaine est constituée de caractères alphanumériques - Javascript
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