dvwyns
Messages postés159Date d'inscriptionmardi 2 janvier 2007StatutMembreDernière intervention 7 mai 2012
-
23 juin 2010 à 11:34
dvwyns
Messages postés159Date d'inscriptionmardi 2 janvier 2007StatutMembreDernière intervention 7 mai 2012
-
23 juin 2010 à 22:50
Bonjour,
Après plusieurs essais infructueux, j'aimerais demander conseils à la communauté.
Je cherche à faire une fonction qui vérifie les champs d'un formulaire, j'utilise un regex pour savoir si un champ contient que des nombres avec un maximum de 9 nombres, si oui la fonction renvoi true sinon false.
Malheureusement, pour une raison que j'ignore, il ne me renvoi que false.
function isNumber(elem){ //fonction pour verif si nombre
ExpReg = new RegExp("/^\d{1,9}$/g");
var bonnb = ExpReg.test(elem.value);
return bonnb;
}
dvwyns
Messages postés159Date d'inscriptionmardi 2 janvier 2007StatutMembreDernière intervention 7 mai 2012 23 juin 2010 à 22:35
Bonjour,
Tout d'abord, merci pour ton aide.
J'ai essayé les 2 codes que tu m'as proposé mais ça ne fonctionne pas non plus.
Pourtant, je ne vois aucune raison que ça ne fonctionne pas :-/
J'ai verifié toutes les valeurs que j'utilise, et rien à faire c au nv du test que ça ne fonctionne pas (sniff).
Je mets le nouveau code avec la fonction qui appelle cette fonction, p-e que ça t'aidera.
function isNumber(elem){ //fonction pour verif structure NBR
if(!isNaN( elem.value)){
if( elem.value.length < 10)
return( true);
}
return false;
}
//vérifie tout les champs d'un formulaire (ici les champs requis et les nombres)
function verifField(zone){ //zone == document.forms['form']
for(var i=0;i<zone.length;i++){
var id = zone.elements[i].id;//l'id comprend "req" pour requis "nbr" pour nombre
tabid = id.split("_"); //c 'est mots clés sont séparés par un "_"
if(zone.elements[i].value==""){
if(tabid[tabid.length-3]=="req"){ //verifie champs requis
zone.elements[i].style.border = '2px solid red';
}
}
else{
if(tabid[tabid.length-2]=="nbr"){
if(!isNumber(zone.elements[i].value))
alert("no good");
}
}
dvwyns
Messages postés159Date d'inscriptionmardi 2 janvier 2007StatutMembreDernière intervention 7 mai 2012 23 juin 2010 à 22:40
Sorry, j'ai oublié de mettre ça dans des balises code du site. ça sera qd même plus clair
function isNumber(elem){ //fonction pour verif structure NBR
if(!isNaN( elem.value)){
if( elem.value.length < 10)
return( true);
}
return false;
}
//vérifie tout les champs d'un formulaire (ici les champs requis et les nombres)
function verifField(zone){ //zone == document.forms['form']
for(var i=0;i<zone.length;i++){
var id = zone.elements[i].id;//l'id comprend "req" pour requis "nbr" pour nombre
tabid = id.split("_"); //c 'est mots clés sont séparés par un "_"
if(zone.elements[i].value==""){
if(tabid[tabid.length-3]=="req"){ //verifie champs requis
zone.elements[i].style.border = '2px solid red';
}
}
else{
if(tabid[tabid.length-2]=="nbr"){
if(!isNumber(zone.elements[i].value))
alert("no good");
}
}
}
}
dvwyns
Messages postés159Date d'inscriptionmardi 2 janvier 2007StatutMembreDernière intervention 7 mai 2012 23 juin 2010 à 22:50
Ok, sorry... je me suis perdu dans mon code et j'ai mis dans la 1ère fonction isNumber(zone.elements[i].value) et dans la fonction isNumber(elem) j'appelle elem.value dans le la fonction test...
Ce qui donnerai zone.elements[i].value.value :-/
C un peu bidon... double sorry
Je vais mettre cette question comme résolu puisque de tout façon mon regex était pas bon et que tu m'en a donné un sympa ;)