Ich habe den Regex unten für eine wirklich einfache Email-Validierung geschrieben. Ich plane, einen Bestätigungslink zu senden.
%Vor%Ich würde es jedoch gerne aus dem aktuellen Zustand heraus verbessern, weil eine solche Zeichenfolge nicht das gewünschte Ergebnis liefert:
test, mein.name + test @ gmail-etwas.co.uk, test
Der "Test" -Teil ist unerwünscht in der Übereinstimmung enthalten. Ich experimentierte erfolglos mit Wortgrenzen.
Danke!
Statt. Versuche, jedes Zeichen außer \ s (Leerzeichen) zu finden:
%Vor%Es ist ein viel komplizierter !!! Siehe Mail :: RFC822 :: Adresse und sei verängstigt ... sehr verängstigt.
Fast nichts, was Sie verwenden, das kurz genug ist, um einen Blick darauf zu werfen, wird WIRKLICH eine E-Mail-Adresse validieren. Nachdem das gesagt ist, hier ist, was ich normalerweise verwende:
%Vor%Es ist die integrierte Regex für den regulären Ausdruck-Validierer von ASP.NET für E-Mail-Adressen.
HINWEIS: Viele der in diesem Thread angegebenen Regex haben möglicherweise in den 90er Jahren funktioniert, aber TLDs dürfen in der heutigen Web-Umgebung weniger als 2 Zeichen und mehr als 4 Zeichen umfassen. Zum Beispiel ist [email protected] eine gültige E-Mail-Adresse, da .museum eine dieser neuen, langen TLDs ist.
Ich fand, dass es viel praktischer ist, die Zeichenfolge an @ und:
zu teilen, anstatt die gesamte E-Mail-Adresse mit einem regulären Ausdruck zu vergleichenDer Grund für die DNS-Überprüfung ist, dass unerreichbare Email-Adressen, die RFC-konform sind, nichts wert sind. Der Grund für die zusätzliche Überprüfung des A-Datensatzes besteht darin, dass sie verwendet werden, um zu bestimmen, wo die Post zugestellt werden soll, wenn kein MX-Eintrag gefunden wird. (siehe RFC2821, 3.6)
Weitere Tipps:
Jeffrey Friedl gibt einen Regex für die Validierung von E-Mail-Adressen in seinem Mastering Regular Expressions Buch. Es ist riesig, aber es funktioniert gut.
Ein kleinerer zweistufiger Regex liefert gute Ergebnisse
/ ** Überprüfen Sie, ob die E-Mail-Adresse in einem gültigen Format vorliegt.
* Führender Charakter der Mailbox muss alphabetisch sein
* verbleibende Zeichen alphanumerisch plus -_ und Punkt
* Domain-Basis muss mindestens 2 Zeichen sein
* Domain-Erweiterung muss mindestens 2, nicht mehr als 4 Alpha-Klasse sein
* Subdomains sind erlaubt.
* @version 050208 hat Apostroph als gültiges Zeichen hinzugefügt
* @version 04/25/07 E-Mail-Adresse und einzelne E-Mail-Adresse
* Buchstaben Domainnamen sind erlaubt.
* /
public static boolean isValidEmailAddress (String-Adresse) {
Zeichenfolge sRegExp;