Modérateur PHPfrance |
10684 Messages
31 mai 2008, 09:38
Il faut bien comprendre ce que fait ton expression :
([a-zA-Z0-9]+) -> n'importe quel caractère alphanumérique, entre 1 et N fois
@ -> suivi(ent) du caractère arobase
([a-zA-Z0-9]+) -> suivit de n'importe quel caractère alphanumérique, entre 1 et N fois
.{2,4} -> suivit de n'importe quel caractère, entre 2 et 4 fois
$ -> qui termine la chaine
En gros, si l'adresse email n'est pas juste à la fin de la chaine, cette expression ne pourra pas l'identifier (à cause du $).
Concernant le format de l'email, le point est utilisé en expreg comme n'importe quel caractère. Il te manque donc la notion du caractère point (\.) qui va désigner le point séparant le domaine de l'extension.
Enfin, il n'est pas rare de voir des points ou des tirets dans les adresses mail, hors tes expressions de part et d'autre de l'arobase ne prennent en compte que des caractère aplhanumériques

Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...