Soucis java script

Fermé
einteractif Messages postés 9 Date d'inscription jeudi 15 décembre 2011 Statut Membre Dernière intervention 6 août 2018 - Modifié le 7 août 2018 à 08:39
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 7 août 2018 à 08:58
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 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
6 août 2018 à 20:37
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 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 225
7 août 2018 à 08:27
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 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
7 août 2018 à 08:58
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