Je ne vais pas me bloquer sur la version RFC d'une adresse e-mail, ni sur la vérification de son existence, mais sur une vérification syntaxique basique.

Syntaxe d'une adresse e-mail

Une adresse e-mail comporte 2 parties: utilisateur et domaine.
L'utilisateur peut compporter tout les caractères alphanumériques, ainsi que le "-", le " _" et le "+" (bien que rare). Le domaine est composé de plusieurs caractères alphanumériques, ainsi que du "-", le tout suivi d'un point et de 2 à 4 caractères.

Expression régulière

Nous pouvons donc valider la plupart des emails avec le masque suivant:

^([_a-z0-9-+.]+)*@([a-z0-9-]+)(\.[a-z0-9-]+)*(\.[a-z]{2,4})$

Cette expression marche dans 95% dans cas. Elle doit bien entendu être traitée de manière case-insensitive (sans tenir compte de la casse).