Il existe un certain nombre de e-mail regexp questions popping en haut ici, et je suis honnêtement déconcerté par la raison pour laquelle les gens utilisent ces follement obtus plutôt qu'un analyseur syntaxique très simple qui divise l'e-mail en deux parties, le nom et le domaine, puis les valide en fonction des caractères valides autorisés pour le nom (aucune autre vérification ne peut être effectuée sur cette partie) et des caractères valides pour le domaine (et je suppose que vous pourriez ajouter une vérification pour tous les TLD du monde, puis un autre niveau de domaines de second niveau pour les pays qui en ont (par exemple, com.uk)).
Le vrai problème est que les tlds et slds ne cessent de changer (contrairement à ce que l'on croit généralement), et qu'il faut donc mettre à jour la regexp si l'on veut effectuer toutes ces vérifications de haut niveau à chaque fois que les serveurs de noms racine envoient un changement.
Pourquoi ne pas avoir un module qui valide simplement les domaines, qui tire d'une base de données, ou d'un fichier plat, et qui vérifie optionnellement les enregistrements DNS correspondants ?
Je suis sérieux, pourquoi tout le monde tient-il tant à inventer la regexp parfaite pour cela ? Cela ne semble pas être une solution appropriée au problème...
Convainquez-moi que non seulement il est possible de le faire en regexp (et de satisfaire tout le monde) mais que c'est une meilleure solution qu'un analyseur/validateur personnalisé.
-Adam