Vérification d'une adresse mail


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!

Entrez une adresse mail:    

<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">&nbsp; <input type="submit" value="submit">&nbsp; <input type="reset"> </p>
</form>
</body>
</html>

 

Un texte qui onduleRetour à la page JavaScriptVoir la source d'une page