reaction incompréhensible expression régulière
salut,
j'ai fait une fonction java script qui permet de tester un valeur d'un champs
mon champs doit être composé de 1 ou plusieurs réels séparés par des espaces
un réel c'est +ou- facultatif avec un nombre puis .nombre facultatif
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
function Verifchamp(chaine)
{
var exp=new RegExp("[ ]+","g");
var tabNom=chaine.split(exp);
if (tabNom==null) {alert("Problème dans l'expression !");}
else {
var affichage="Nombre de noms trouvés = " + tabNom.length + "\n";
var exp1=new RegExp("^[+-]?[0-9][0-9]*([.][0-9][0-9]*)?$","g");
for (var i=0;i<tabNom.length;i++)
{
affichage=affichage + " ["+ tabNom[i] + "]\n";
if ( exp1.test(tabNom[i]) ) {alert("Le nombre["+tabNom[i]+"] est valide :)"); }
else {alert(" E R R E U R !\n\nLe nombre["+tabNom[i]+"] n'est pas valide !!!!"); }
}
alert(affichage);
}
} |
lorsque je teste un réel tout seul ça marche par contre si je met 3 consécutif le premier il l'accepte ,le deuxième non et le troisième oui il continue en alternance même que c'est le même réel
par exemple pour faciliter si je met: 2 2 2 2
le premier 2 est accepté,le deuxième non accepté, le troisième accepté et le quatrième non accepté
je sais pas pour quoi
merci pour votre aide