Regex-Fallstricke bei der E-Mail-Validierung
Die Validierung von E-Mail-Adressen mithilfe regulärer Ausdrücke kann eine knifflige Aufgabe sein, insbesondere bei Subdomain-Adressen. Um dieser Herausforderung zu begegnen, untersuchen wir die Einschränkungen, wenn wir uns ausschließlich auf Regex verlassen.
Einschränkungen der Regex-Validierung
Bei der Validierung der syntaktischen Korrektheit einer E-Mail-Adresse (z. B. Präsenz). von @ und .) berücksichtigt Regex Tippfehler nicht und stellt nicht sicher, dass die Adresse tatsächlich existiert. Um diese Probleme zu beheben, sind umfangreichere Prüfungen erforderlich, nämlich:
Empfohlene einfache Prüfung
Angesichts der Einschränkungen der Regex-Validierung ist eine grundlegende Prüfung erforderlich das häufige Benutzerfehler identifiziert, reicht oft aus:
[^@]+@[^@]+\.[^@]+
Diese Regex überprüft das Vorhandensein von genau einem @-Symbol und mindestens einem . nach dem @.
Verwenden regulärer Ausdrücke im Code
Um den obigen regulären Ausdruck in Code zu integrieren, verwenden Sie das re-Modul in Python:
import re if not re.match(r"[^@]+@[^@]+\.[^@]+", email): # Handle invalid email address
Beachten Sie die Verwendung des unformatierten String-Literals von Python mit dem Präfix r, um zu vermeiden, dass Zeichen zweimal maskiert werden. Erwägen Sie bei komplexen regulären Ausdrücken, diese zuerst zu kompilieren:
EMAIL_REGEX = re.compile(r"[^@]+@[^@]+\.[^@]+") if not EMAIL_REGEX.match(email): # Handle invalid email address
Das obige ist der detaillierte Inhalt vonReicht Regex für eine genaue E-Mail-Validierung aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!