par
Bosse.cie » 26 nov. 2014, 11:19
Bonjour,
Voilà, encore un problème d'expression régulière.
Je dois avouer que j'ai du mal avec ça.
Néanmoins, ça fait deux jours que je bloque sur mon cas, et je ne comprends pas pourquoi.
J'ai deux input, qui appelle chacun une fonction sur onchange.
Pour la première, ça fonctionne; pas de problème.
Pour la seconde, ça ne fonctionne pas.
Il ne se passe rien, que je tape les bons caractères ou pas.
J'ai tenté de tester mon expression sur un site qui le propose, ça fonctionne. Alors qu'est-ce qui se passe ?
[javascript]function testlib(libel) {
var exp =new RegExp("^[^<>\[\]\{\}\"]{1,"+t_libelle+"}$","g");
if(exp.test(libel.value)) {
libel.className="correct";
} else {
libel.className="incorrect";
}
return;
}[/javascript]
Dans ce cas, t_libelle contient la valeur 100. J'ai tenté de mettre cette valeur en clair, ça ne change rien.
J'ai testé libel.value; j'ai bien le contenu de mon input.
Mon but est, (je pense que vous l'aurez compris), de refuser la saisie de tous les caractères de mon expression régulière.
J'ai voulu tester avec le débogueur de firefox... il plante sans message d'erreur, et je suis obligé de relancer firefox. Mais je ne pense pas que cela vienne de ma fonction vu qu'il plante aussi avec l'autre cas qui fonctionne.
Par contre, forcément, je ne peux pas tester correctement.
D'où mon appel à l'aide...
Merci
Michel
Bonjour,
Voilà, encore un problème d'expression régulière.
Je dois avouer que j'ai du mal avec ça.
Néanmoins, ça fait deux jours que je bloque sur mon cas, et je ne comprends pas pourquoi.
J'ai deux input, qui appelle chacun une fonction sur onchange.
Pour la première, ça fonctionne; pas de problème.
Pour la seconde, ça ne fonctionne pas.
Il ne se passe rien, que je tape les bons caractères ou pas.
J'ai tenté de tester mon expression sur un site qui le propose, ça fonctionne. Alors qu'est-ce qui se passe ?
[javascript]function testlib(libel) {
var exp =new RegExp("^[^<>\[\]\{\}\"]{1,"+t_libelle+"}$","g");
if(exp.test(libel.value)) {
libel.className="correct";
} else {
libel.className="incorrect";
}
return;
}[/javascript]
Dans ce cas, t_libelle contient la valeur 100. J'ai tenté de mettre cette valeur en clair, ça ne change rien.
J'ai testé libel.value; j'ai bien le contenu de mon input.
Mon but est, (je pense que vous l'aurez compris), de refuser la saisie de tous les caractères de mon expression régulière.
J'ai voulu tester avec le débogueur de firefox... il plante sans message d'erreur, et je suis obligé de relancer firefox. Mais je ne pense pas que cela vienne de ma fonction vu qu'il plante aussi avec l'autre cas qui fonctionne.
Par contre, forcément, je ne peux pas tester correctement.
D'où mon appel à l'aide...
Merci
Michel