Pièges des Regex dans la validation des e-mails
La validation des adresses e-mail à l'aide d'expressions régulières peut être une tâche délicate, en particulier pour les adresses sous-domaines. Pour relever ce défi, explorons les limites de s'appuyer uniquement sur les regex.
Limitations de la validation des regex
Lors de la validation de l'exactitude syntaxique d'une adresse e-mail (par exemple, la présence de @ et .), l'expression régulière ne tient pas compte des fautes de frappe et ne garantit pas que l'adresse existe réellement. La résolution de ces problèmes nécessite des vérifications plus approfondies, à savoir :
Vérification simple recommandée
Compte tenu des limites de la validation des regex, une vérification de base qui identifie les erreurs courantes des utilisateurs est souvent suffisant :
[^@]+@[^@]+\.[^@]+
Cette regex vérifie la présence d'exactement un symbole @ et d'au moins un . après le @.
Utilisation d'expressions régulières dans le code
Pour incorporer l'expression régulière ci-dessus dans le code, utilisez le module re en Python :
import re if not re.match(r"[^@]+@[^@]+\.[^@]+", email): # Handle invalid email address
Notez l'utilisation du littéral de chaîne brute de Python préfixé par r pour éviter d'échapper deux fois les caractères. Pour les expressions régulières complexes, pensez à les compiler d'abord :
EMAIL_REGEX = re.compile(r"[^@]+@[^@]+\.[^@]+") if not EMAIL_REGEX.match(email): # Handle invalid email address
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!