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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 !