Fonction replace du jscript

Fermé
zou - 12 avril 2001 à 22:58
 zou - 16 avril 2001 à 10:58
je fais des pages asp en javascript et la fonction replace ( de String) ne remplace pas toutes les occurences que je veux elle remplace juste la 1ère. et elle n'accepte que 2 arguments.
y'aurait il une solution (ne me dites fais de l'asp avec vbscript)
A voir également:

2 réponses

Salut zou

La methode replace() de l'objet string attend en effet 2 paramètres.
Cependant le 1er paramètre peut être une simple chaîne ou, et c'est là tout l'intérêt, une expression régulière.

Ex : voici un petit code HTML

<html>

<head>
<title>affiche_date</title>
<script language="JavaScript1.3">
<!--

var txt="Ceci est juste une chaîne de test"
alert(txt.replace("e","E"))

// -->
</script>
</head>
<body>
</body>
</html>


Ce script va afficher une bôite de dialogue avec :

"CEci est juste une chaîne de test"

Donc seule la 1èere occurence de la lettre "e" est remplacée

Maintenant si j'introduis une expression régulière, le script devient :


<html>
<head>
<title>affiche_date</title>
<script language="JavaScript1.3">
<!--

var re=/e/g;

var txt="Ceci est juste une chaine de test"
alert(txt.replace(re,"E"))

// -->
</script>
</head>
<body>
</body>
</html>

Ce script va afficher une boîte de dialogue avec :

"CEci Est justE unE chaînE dE tEst"


Toute les occurrences sont remplacées.

L'expression régulière elle-même est : /e/g

Une expression régulière est tjrs encadrées par 2 signes "/" .
Au mileu on met ce qu'on appelle un modèle ou pattern. Celui-ci peut être une simple chaîne de caractères (attention tous les carctères ne sont pas acceptés tel quel !) mais également comprendre un nombre de paramètres très étendus : je te renvoies à la documentation des expressions régulières pour le détail de tous les paramètres possibles ... et ils ont nombreux !
D'un autre côté cela rend les expressions régulières très très puissantes.

Enfin la lettre "g" à la fin indique que l'expression régulière porte sur la globalité de la chaîne : c'est ce qui fait que ttes les occurrences sont remplacées.

Allez zou au boulot ... :)


@+
Philippe
3
la vache !!!!! quand je pense qu'il aurait pu ajouter un 3ème paramètre !!!! en vb c + facile.
où je peux la trouver cette doc (car moi j'ai jamais entendu parler de ce truc là)
merci
0
Tu peux intégrer du javascript dans du vbscript mais je ne sais plus comment je faisais.Il y a une façon de contourner le problème : une astuce
Si cela t'intéresse je peux te fournir cela demain.
Bon courage
0

Discussions similaires