Java E-Mail-Validierung mit Regex

E-Mail-Validierung mit regulären Ausdrücken ist gemeinsame Aufgabe, die in jeder Anwendung, die E-Mail-Adresse als erforderliche Informationen in der Registrierung Schritt suchen erforderlich sein kann. Es kann noch mehr Anwendungsfälle geben, aber das ist hier nicht der Punkt der Diskussion.

Lassen Sie uns direkt in die Hauptdiskussion einsteigen, d.h. die Validierung von E-Mails in Java mit regulären Ausdrücken.

Einfachste Regex zur Validierung von E-Mails

Regex : ^(.+)@(.+)$

Dieser ist der einfachste und berücksichtigt nur das ‚@‘-Symbol. Vor und nach dem ‚@‘-Symbol kann eine beliebige Anzahl von Zeichen stehen. Sehen wir uns ein kurzes Beispiel an, um zu sehen, was ich meine.

Programmausgabe.

Dieses Muster ist in der Klasse EmailValidator von Common lang verfügbar. Wenn es also Ihrem Bedarf entspricht, können Sie diese Klasse direkt verwenden.

Einschränkungen für den Teil des Benutzernamens hinzufügen

Regex : ^+@(.+)$

In dieser Regex haben wir einige Einschränkungen für den Teil des Benutzernamens der E-Mail-Adresse hinzugefügt. Die Einschränkungen in der obigen Regex sind:

Lassen Sie uns einige E-Mail-Adressen gegen die obige Regex testen.

Programmausgabe.

Bitte beachten Sie, dass Sie ähnliche Einschränkungen auch auf den Teil des Domainnamens anwenden können. Dann wird der reguläre Ausdruck wie folgt aussehen.

^+@+$

Java email validation permitted by RFC 5322

Regex : ^+@+$

Dieses Regex-Beispiel verwendet alle nach RFC 5322 zulässigen Zeichen, die das E-Mail-Nachrichtenformat regeln. Unter den erlaubten Zeichen sind einige, die ein Sicherheitsrisiko darstellen, wenn sie direkt von der Benutzereingabe an eine SQL-Anweisung übergeben werden, wie das einfache Anführungszeichen (‚) und das Pipe-Zeichen (|).

Sie sollten darauf achten, sensible Zeichen zu entschlüsseln, wenn Sie die E-Mail-Adresse in eine Zeichenkette einfügen, die an ein anderes Programm übergeben wird, um Sicherheitslücken wie SQL-Injection-Angriffe zu verhindern.

Programmausgabe.

Regex zur Einschränkung von führenden, nachgestellten oder aufeinanderfolgenden Punkten in E-Mails

Regex : ^+(?:\\.+)*@+(?:\\.+)*$

Sowohl der lokale Teil als auch der Domänenname können einen oder mehrere Punkte enthalten, jedoch dürfen keine zwei Punkte direkt nebeneinander stehen. Außerdem dürfen das erste und das letzte Zeichen im lokalen Teil und im Domänennamen keine Punkte sein:

Programmausgabe.

Regex zur Einschränkung der Anzahl der Zeichen in der Top-Level-Domäne

Nun können wir die Regex so ändern, dass der Domänenname mindestens einen Punkt enthalten muss und dass der Teil des Domänennamens nach dem letzten Punkt nur aus Buchstaben bestehen darf.

Angenommen, die Domänennamen lauten wie secondlevel.com oder thirdlevel.secondlevel.com. Die Top-Level-Domain (.com in diesen Beispielen) darf nur aus zwei bis sechs Buchstaben bestehen.

Regex : ^+(?:\\.+)*@(?:+\\.)+{2,6}$

Programmausgabe.

Dieser letzte Regex ist meine Empfehlung für eine einfache E-Mail-Validierung in Java. Bitte beachten Sie, dass eine E-Mail-Validierung in Java ohne reguläre Ausdrücke zwar möglich ist, aber nicht empfohlen wird. Überall dort, wo Sie mit Mustern umgehen müssen, sind reguläre Ausdrücke Ihr Freund.

Bitte verwenden Sie diese Regex und bearbeiten Sie sie entsprechend den zusätzlichen Anforderungen Ihrer Anwendung.

Viel Spaß beim Lernen!!!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.