Regex Tester

E-Mail Regex Muster: Validierung von E-Mail Adressen

Regex Muster zur E-Mail Validierung mit Testfällen. Behandelt RFC 5322 Konformität, häufige Fehler und warum Regex allein nicht ausreicht.

100% clientseitig. Deine Daten verlassen niemals deinen Browser.

//gm
4 Treffer
user@example.com alice.chen@company.co.uk bob+tag@gmail.com invalid@ @missing-local.com no-at-sign.com user@.com test@sub.domain.example.org
Trefferdetails

Verwandte Werkzeuge

E-Mail Regex Muster

Das obige Muster entspricht der großen Mehrheit der realen E-Mail Adressen. Es erfordert einen nicht leeren lokalen Teil mit alphanumerischen Zeichen und ._%+-, dann ein @, dann eine Domain mit mindestens einem Punkt, dann eine TLD mit zwei oder mehr Buchstaben. Zeilen, die übereinstimmen: user@example.com, alice.chen@company.co.uk, bob+tag@gmail.com. Zeilen, die nicht übereinstimmen: invalid@, @missing-local.com, no-at-sign.com, user@.com.

Aufschlüsselung des Musters

SegmentMusterWas übereinstimmt
Anfang Anker^Anfang jeder Zeile (mit Flag m)
Lokaler Teil[a-zA-Z0-9._%+\-]+Buchstaben, Ziffern und ._%+- einer oder mehr
Klammeraffe@Literales @
Domain Labels[a-zA-Z0-9.\-]+Domainname, Punkte und Bindestriche erlaubt
Punkt vor TLD\.Literaler Punkt
TLD[a-zA-Z]{2,}Zwei oder mehr Buchstaben (deckt .io, .museum, .co.uk zweites Label)
Ende Anker$Ende jeder Zeile (mit Flag m)

Häufige Fehler bei E-Mail Regex

Kein + im lokalen Teil zuzulassen ist das häufigste Problem. Gmail und viele andere Anbieter leiten user+tag@gmail.com an dasselbe Postfach weiter wie user@gmail.com, und viele Benutzer verlassen sich darauf für die Filterung. Ein Muster wie [a-zA-Z0-9._%-]+ lehnt diese Adressen stillschweigend ab.

Mehrstufige TLDs nicht zuzulassen ist der zweithäufigste Fehler. Ein Muster, das mit \.[a-zA-Z]{2,3} endet, lehnt alice@company.co.uk ab, weil es .co als die TLD ansieht.

Das Muster nicht mit ^ und $ zu verankern bedeutet, dass ein String wie ‘dies ist keine email enthält aber eine@example.com’ mit dem eingebetteten Fragment übereinstimmt. Bei der Validierung verankere immer den gesamten String oder die gesamte Zeile.

Das HTML5 E-Mail Muster

Browser wenden ihr eigenes Muster auf <input type="email"> an. Das tatsächlich von der HTML5 Spezifikation verwendete Muster ist:

/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/

Es ist deutlich großzügiger als das obige Muster, erlaubt mehr Sonderzeichen im lokalen Teil und unterstützt mehrstufige Domains. Es entspricht einem Großteil der RFC 5322 Spezifikation, ist aber dennoch nicht vollständig konform.

Teste deine E-Mail Muster mit Live-Ergebnissen im Regex Tester.