francktfr
Messages postés101Date d'inscriptionvendredi 30 août 2002StatutMembreDernière intervention 5 novembre 2004
-
2 nov. 2003 à 06:34
pedrounet27
Messages postés1Date d'inscriptionsamedi 2 avril 2005StatutMembreDernière intervention 4 avril 2009
-
4 avril 2009 à 11:11
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
pedrounet27
Messages postés1Date d'inscriptionsamedi 2 avril 2005StatutMembreDernière intervention 4 avril 2009 4 avril 2009 à 11:11
Là Forcetiep, je pense que tu fais justement le contraire
Pour remplacer des "/" par des "",
préférer chaine.replace(/\//g,"\" );
forcetiep
Messages postés1Date d'inscriptionmardi 24 janvier 2006StatutMembreDernière intervention 7 novembre 2008 7 nov. 2008 à 18:06
plus simple encore :
par exemple pour remplacer des "/" par "" et qui marche sur tout les occurrences
replace(/\\/g,"\/" );
cs_bugzilla79
Messages postés9Date d'inscriptionlundi 20 janvier 2003StatutMembreDernière intervention20 mai 2005 15 oct. 2004 à 19:19
Hello à tous, j'ai fait cette fonction qui permet de paramétrer le controle sur lequel doit agir le remplacement, la chaine à chercher, la chaine de remplacement.
function replaceString(strCtrl, strToReplace, strToReplaceWith){
var ctrl = document.getElementById(strCtrl);
var strTemp = "";
for(i = 0; i < ctrl.value.length; i++){
(ctrl.value.charAt(i) == strToReplace) ? strTemp += strToReplaceWith : strTemp += ctrl.value.charAt(i);
}
ctrl.value = strTemp;
}
L'appel de la fonction se fait soit par lien soit par événement sur un élément de formulaire.
/!\ Attention : le premier argument de la fonction doit impérativement être entre guillemets simples (sinon ça déconne) et si vous cherchez à remplacer des guillemets simples ou des guillemets doubles, utilisez String.fromCharCode(indexUnicodeDuCaractere) sinon ça plante (même si vous utilisez le caractère d'échappement).
Dans l'appel ci-dessous j'ai remplacé la virgule par le point (utile dans un formulaire où on doit tester une valeur décimale par ex ou si on doit taper une instruction SQL) :
phildarvador
Messages postés106Date d'inscriptionjeudi 7 février 2002StatutMembreDernière intervention30 novembre 2004 8 févr. 2004 à 00:12
en effet Mickeymanu , bcp + clair!
merci pour le tuyau, je jette un coup d'oeil qd j'ai 5 minutes :)
Mickeymanu
Messages postés3Date d'inscriptionlundi 17 juin 2002StatutMembreDernière intervention21 août 2008 6 févr. 2004 à 19:27
chaine = chaine.replace(/a/gi," ");
/a/gi --> regular expression
recherche tout les a dans "chaine" et les remplace par des espaces.
gi --> g = recherche globale
i = ignore la casse
Phildarvador renseigne toi sur les expressions régulières (ou regexp).
Si tu met qu'un caractère ou une chaine il ne sera cherché qu'une fois.
/toto/gi cherche tout les "toto" dans la chaine. "g" pour une recherche globale (donc tant qu'il n'est pas au bout de ta chaine de caractères) et "i" pour ignorer la casse.
A bientôt
P.A.: Reblochon je reprend en gros ce que tu dis mais j'espère l'avoir rendu un peu plus clair ^^)
cs_reblochon
Messages postés49Date d'inscriptionlundi 28 avril 2003StatutMembreDernière intervention27 septembre 2004 7 nov. 2003 à 16:59
y a aussi
function Remplace(str,find,rep){
var reg = new RegExp(find,"gi")
return(str.replace(reg,rep));
}
Pas de boucle, pas de rappel de "replace" à chaque remplacement.
Si vous voulez garder la casse (minuscules/majuscules):
var reg = new RegExp(find,"g")
A+
Philippe
francktfr
Messages postés101Date d'inscriptionvendredi 30 août 2002StatutMembreDernière intervention 5 novembre 2004 2 nov. 2003 à 06:34
y a aussi :
function Remplace(str,find,rep){
while(str.indexOf(find) > -1){str = str.replace(find,rep)}
return(str)
}
// exemple :
alert(Remplace("il etait uine fois dans les bois","e","a"))
4 avril 2009 à 11:11
Pour remplacer des "/" par des "",
préférer chaine.replace(/\//g,"\" );
7 nov. 2008 à 18:06
par exemple pour remplacer des "/" par "" et qui marche sur tout les occurrences
replace(/\\/g,"\/" );
15 oct. 2004 à 19:19
function replaceString(strCtrl, strToReplace, strToReplaceWith){
var ctrl = document.getElementById(strCtrl);
var strTemp = "";
for(i = 0; i < ctrl.value.length; i++){
(ctrl.value.charAt(i) == strToReplace) ? strTemp += strToReplaceWith : strTemp += ctrl.value.charAt(i);
}
ctrl.value = strTemp;
}
L'appel de la fonction se fait soit par lien soit par événement sur un élément de formulaire.
/!\ Attention : le premier argument de la fonction doit impérativement être entre guillemets simples (sinon ça déconne) et si vous cherchez à remplacer des guillemets simples ou des guillemets doubles, utilisez String.fromCharCode(indexUnicodeDuCaractere) sinon ça plante (même si vous utilisez le caractère d'échappement).
Dans l'appel ci-dessous j'ai remplacé la virgule par le point (utile dans un formulaire où on doit tester une valeur décimale par ex ou si on doit taper une instruction SQL) :
replaceString('PanQte', String.fromCharCode(44), String.fromCharCode(46));
8 févr. 2004 à 00:12
merci pour le tuyau, je jette un coup d'oeil qd j'ai 5 minutes :)
6 févr. 2004 à 19:27
/a/gi --> regular expression
recherche tout les a dans "chaine" et les remplace par des espaces.
gi --> g = recherche globale
i = ignore la casse
Phildarvador renseigne toi sur les expressions régulières (ou regexp).
Si tu met qu'un caractère ou une chaine il ne sera cherché qu'une fois.
/toto/gi cherche tout les "toto" dans la chaine. "g" pour une recherche globale (donc tant qu'il n'est pas au bout de ta chaine de caractères) et "i" pour ignorer la casse.
A bientôt
P.A.: Reblochon je reprend en gros ce que tu dis mais j'espère l'avoir rendu un peu plus clair ^^)
7 nov. 2003 à 16:59
function Remplace(str,find,rep){
var reg = new RegExp(find,"gi")
return(str.replace(reg,rep));
}
Pas de boucle, pas de rappel de "replace" à chaque remplacement.
Si vous voulez garder la casse (minuscules/majuscules):
var reg = new RegExp(find,"g")
A+
Philippe
2 nov. 2003 à 06:34
function Remplace(str,find,rep){
while(str.indexOf(find) > -1){str = str.replace(find,rep)}
return(str)
}
// exemple :
alert(Remplace("il etait uine fois dans les bois","e","a"))