TUTORIELS 
JavaScript : modifier du texte avec RegExp()
On peut facilement se servir des expressions rationnelles pour modifier du texte à sa guise. Démonstration.  (18 février 2004)
 
Forums
* Discutez en sur les forums
Bien que cela soit l'un de ses principaux usages dans le monde du développement Web, les expressions rationnelles ne servent pas qu'à reconnaître une suite de caractères dans une chaîne, mais peut ensuite se révéler une véritable trousse à outil de la manipulation de chaîne. Ainsi, les méthodes de l'objet RegExp nous permettent de modifier simplement le contenu d'une chaîne : coupure, ajout, retouche, changement de casse, ajout/retrait de texte/balises... C'est ce dernier exemple que nous allons voir ici.

Supposons que l'on dispose des initiales d'une personne, et que l'on souhaite avoir une fonction JavaScript qui remplace le prénom par le nom complet, et y ajoute un lien HTML...
Nous utiliserons pour cela la méthode replace() : après avoir défini expr comme une expression RegExp reconnaissant la suite de lettres "CMT" quelque-soit sa position dans la chaine (pas d'indication de début ou de fin de chaîne) et sa casse (attribut "i"), nous l'appliquons à notre chaine. La méthode replace() prend ici pour attribut l'expression à utiliser, et le texte à remplacer.

Ainsi, dans notre exemple, le texte "J'estime que CMT est bien parti dans la vie" sera modifié en "J'estime que Cédric Malaflouchzme-Traliblütchomaktsk est bien parti dans la vie"

Le code
<script>
  var chaine = "J'estime que CMT est bien parti dans la vie.";
  var expr = new RegExp("(CMT)", "i");
  document.write(chaine.replace(expr, "<a href='mailto:cmt@exemple.fr'>Cédric Malaflouchzme-Traliblütchomaktsk</a>"));
</script>

 
[ Xavier BorderieJDNet
 
Accueil | Haut de page