Bonjour,
j'ai une E.R. qui fonctionne pour perl et dans un RegularExpressionValidator de dotNet mais quand je l'ai écrite dans du JavaScript, elle fonctionne mal.
J'ai l'impression qu'une partie de mon E.R. est passée a la trappe.
Voici mon expression a l'état brut :
^\s*-?\s*[0-9]{1,3}((\s[0-9]{3}?)*)$|^\s*-?\s*[0-9]*$
elle a pour but d'écrire des nombres entiers positif ou négatif, avec possibilités de mettre un espace pour séparer tous les 3 chiffres
j'ai implémente en JavaScript :
1ere methode :
j'ai encadré mon E.R. de /
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 var verif = /^\s*-?\s*[0-9]{1,3}((\s[0-9]{3}?)*)$|^\s*-?\s*[0-9]*$/ if (verif.exec(newObj) == null) { alert("Votre saisie est incorrect"); valObj.innerText="";
ensuite j'ai essayé :
mais je n'ai pas plus de résultat
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 var verif = new RegExp ('^\s*-?\s*[0-9]{1,3}((\s[0-9]{3}?)*)$|^\s*-?\s*[0-9]*$'); if (verif.exec(newObj) == null) { alert("Votre saisie est incorrect"); valObj.innerText=""; }
pourtant, ces deux méthodes fonctionnent bien avec une E.R. plus simple
commeoù là je peux écrire un nombre positif ou négatif mais sans espace comme séparateur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part ^\s*-?\s*[0-9]*$
pour info, l'appli qui utilise ce bout de code tourne avec dotNet, je developpe avec visual studio 2005 et ca doit fonctionner sous IE6 (je sais...., mais c'est de la modification d'un progiciel qui préconise IE6)
Merci beaucoup.
Partager