des expressions régulières
Bonjour
je suis en train de réaliser des fonctions pour vérifier mes formulaires.
Il se passe que, après avoir rempli certains champs correctement et d'autres non, lorsque je clique pour vérifier, le résultat du test n'et pas constant. Il va me dire pour les champs ou il n'y a pas d'erreur, qu'il y en a une, puis la fois suivant il passera au champ suivant , et ainsi de suite de manière cyclique.
Je ne comprend pas pourquoi.
voici un extrait des codes javascript que j'utilise.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
|
var expNom=new RegExp("[a-zA-Z]{1}\w*","g");
// le champ optionnel, sert à indquer que si le champ n'est pas présent ou mal rempli alors on l'ignore
function verifieNom(id,optionnel)
{
var v=document.getElementById(id);
if(v!=undefined)
{
if(v.value!='')
{//window.alert(id+' non vide');
if(expNom.test(v.value))
{
// window.alert('ok');
return true;
}
else
{
//window.alert('nok');
return false;
}
}
else
{//window.alert(id+' vide');
if(optionnel)
return true;
else
return false;
}
}
else
{//window.alert(id+' inexist');
if(optionnel)
return true;
else
return false;
}
}
function verifieFormulaire()
{
var err='';
var v=null;
v=document.getElementById('Pourvue');
if(v.checked==true)
{
v=document.getElementById('Doctorant');
if(v.options[v.selectedIndex].value=='0')
{
if(!verifieNom('DoctNom',false))
err+='Problème sur le nom\n';
if(!verifieNom('DoctPrenom',false))
err+='Problème sur le prénom\n';
v=document.getElementById('DoctNation');
if(v.options[v.selectedIndex].value=='0')
err+='Vous devez spécifier la nationalité\n';
}
if(!verifieDate('DateDebut',false))
err+='Mauvais format sur la date de début\n';
if(!verifieDate('DateFin',false))
err+='Mauvais format sur la date de fin\n';
}
if(err!='')
{
window.alert(err);
return false;
}
else
return true;
} |
merci