Lorsqu'on a un formulaire où le visiteur doit entrer une adresse mail, on aimerait
bien qu'il n'entre pas n'importe quoi.
Ce script vérifie si l'adresse mail est valide.
Attention, il ne vérifie pas si elle existe réellement. Le visiteur peut encore se
tromper dans l'orthographe de l'adresse!
<html> <head> <title> </title> <script LANGUAGE="JavaScript"> <!-- function verifieMail() { var email = document.Formulaire.FROM.value; var aroba = email.indexOf("@"); //test si @ est présent //si il n'est pas présent, l'adresse n'est pas valide if (aroba == -1) { alert("L'adresse email n'est pas valide...\nIl n'y a pas de caractère @\nUne adresse mail valide est du type \"adresse@domaine.com\""); return false; } //vérifie si il y a un . après @ et qu'il ne se trouve pas juste derrière ("adresse@.com" non valide) var point = email.indexOf(".", aroba); if ((point == -1) || (point == (aroba + 1))) { alert("L'adresse email n'est pas valide...\nIl ne peut pas y avoir un point (.) juste après @\nUne adresse mail valide est du type \"adresse@domaine.com\""); return false; } //vérifie si il y a au moins 1 caractère après le point //point + 1 car indexOf commence à 0. //Si l'index est 4 et la longueur de la chaîne 5, erreur var point = email.lastIndexOf("."); if ((point + 1) == email.length) { alert("L'adresse email n'est pas valide...\nL'adresse mail ne peut pas finir par un point (.)\nUne adresse mail valide est du type \"adresse@domaine.com\""); return false; } //vérifie s'il n'y a pas deux . qui se suivent point = email.indexOf("..") if (point != -1) { alert("L'adresse email n'est pas valide...\nL'adresse mail ne peut pas contenir 2 points (.) qui se suivent.\nUne adresse mail valide est du type \"adresse@domaine.com\""); return false; } alert("L'adresse mail est valide..."); return true; } //--> </script> </head> <body> <form name="Formulaire" onSubmit="verifieMail(); return false;"> <p>Entrez une adresse mail: <input type="text" name="FROM" size="20"> <input type="submit" value="submit"> <input type="reset"> </p> </form> </body> </html> |