Soucis java script

einteractif Messages postés 10 Statut Membre -  
KX Messages postés 19031 Statut Modérateur -
Hello,
Je ne comprend pas pourquoi le java script ne vérifie pas si l'adresse e-mail est correct .
Voici le script que je met entre les balises head : <script type="text/javascript" language="javascript">
<!--
function VerifMail()
{
 a = document.Verif.Mail.value;
 valide1 = false;
 for(var j=1;j<(a.length);j  ) {
  if(a.charAt(j)=='@') {
   if(j<(a.length-4)) {
    for(var k=j;k<(a.length-2);k  ) {
     if(a.charAt(k)=='.') valide1=true;
    }
   }
  }
 }
 
 if(valide1==false) { 
  alert("Veuillez saisir une adresse email valide.");
 return valide1;
 }

//-->
</script>

et dans les balises du body :
<form id="Verif" name="Verif" method="post" onSubmit="return VerifMail();" >

 <input name="Mail" type="text" id="Mail" value="Tester une adresse email" size="35" >

 <input type="submit" value="Envoyer" name="submit" />
 </form>


EDIT : Ajout des balises de code
le formulaire n'interroge rien ...
Je suis preneur si vous avez trouvé !
A voir également:

1 réponse

jordane45 Messages postés 40050 Statut Modérateur 4 757
 
Bonjour

Deja... pour vérifier une adresse mail
function validateEmail(email) {
    var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
    return re.test(String(email).toLowerCase());
}



Ensuite regarde les erreurs que tu as dans la console de ton navigateur

0
ElementW Messages postés 5690 Statut Contributeur 1 224
 
La regex de ton code est déjà bien longue, mais la vraie regex valide pour vérifier la syntaxe d'un mail selon la RFC 822 est... gigantesque.
0
KX Messages postés 19031 Statut Modérateur 3 020
 
Bonjour,

La vérité c'est qu'il vaut mieux ne pas utiliser ces expressions régulières, mais plutôt une forme réduite qui bloqueront peut-être certaines adresses mails valides, mais à la marge, voire même accepteraient des adresses mails invalides, ce que de toute façon on ne peut pas vérifier juste avec la syntaxe.
Il faut envoyer un mail et attendre une réponse pour vérifier que c'est bien une adresse mail valide, et en plus qu'elle appartient bien à l'utilisateur...

Quant au code JavaScript, j'ai des doutes rien que sur la première ligne
a = document.Verif.Mail.value;

Ne faudrait-il pas plutôt utiliser getElementById ?
0