Test de la syntaxe adresse mail
Avec l'apparition du html5, ette page n'a pas vraiment grand intérêt.
En effet, voici comment il est possible de valider le champ mail dans le formulaire :
<input type="email" name="email" placeholder="Jean Dupont"
required pattern= "[^@]+@[^@]+\.[a-zA-Z]{2,6}" />
Néanmoins voici la méthode en PHP.
On utilise la fonction compatible PERL preg_match qui retourne une valeur booléenne.
Cette procédure est plus élaborée car elle détecte la présence de caractères habituellement indésirables. On teste aussi la présence de sous-domaines.
/*---------------------------------------------------------------
fonction : checkEmail
objectif : vérifie si adresse de la forme aa-aa_aa.bbb@xxx.yyyy.zzz
entrée : email
sortie : true si ok
----------------------------------------------------------------*/
function checkEmail( $xmail )
{
$pattern = "/^[a-zA-Z0-9\.\-\_]+\@([a-zA-Z0-9\-]+\.)+[a-zA-Z0-9\-]+/";
return preg_match( $pattern, $xmail );
}
//---------------------------------------------------------------
Remarquez la présence du délimiteur / en début et en fin d'expression.
( on peut aussi utiliser | )
^ signifie en début d'expression.
[a-zA-Z0-9\.\-\_] signifie toute chaine contenant des lettres, des chiffres, le point, - et _
+ signifie au moins une expression
( l'antislash est nécessaire devant . - _ pour préciser que c'est le caractère que l'on recherche )