Fonction replace du jscript
zou
-
zou -
zou -
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)
y'aurait il une solution (ne me dites fais de l'asp avec vbscript)
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
-
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