Validation d'une adresse e-mail
J'essaie de faire une validation d'e-mail la plus complete possible.
Je permet donc de mettres des points, je test qu'il y ai bien le @, qu'il soit sous la forme :
xxxxxx@xxx.xxx
xxx.xxx@xxx.xx
xxx.xxx.xxx@xxx.xxx.xx
xxx.xxx.xxx@xxx.xxx.xxx
viola ce que j'ai utilisé :
"^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[.a-z0-9-]{3}[.a-z0-9-]*\.[a-z]{2,4}$"
Code:
1 2 3 4 5
|
if (!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[.a-z0-9-]{3}[.a-z0-9-]*\.[a-z]{2,4}$",$this->mail))
{
echo "l'e-mail n'est pas valide !";
} |
Cela fonctionne comme je le souhaite, excepté que si deux points sont côtes à côte. il ne faut pas que ce cas puisse se produire.
exemple :
xxx.xxx@xx..xxx
Quelqu'un pourrait m'aider ? parce que la, je m'embrouille beaucoup trop.
Merci !