Blog

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

Entprellung
Artikel
18 min gelesen

Wichtige Erkenntnisse

  • Der reguläre Ausdruck für E-Mail-Adressen prüft nur das Format: Er kann nicht bestätigen, ob eine Adresse tatsächlich existiert oder aktiv ist.
  • Ein gut formulierter regulärer Ausdruck für E-Mails umfasst den lokalen Teil, das @-Symbol, den Domainnamen und die Top-Level-Domain (TLD).
  • Reguläre Ausdrücke sollten Ihre erste, nicht Ihre einzige Validierungsebene sein. Kombinieren Sie sie mit einer Echtzeit-E-Mail-Verifizierung, um zuverlässige Ergebnisse zu erzielen.

Sie haben ein Anmeldeformular erstellt, und jemand gibt „john@“ in das E-Mail-Feld ein. Ohne Validierung wird dieser Wert direkt in Ihre Datenbank eingetragen, als wäre nichts geschehen. Ihre nächste Kampagne wird dann an diese Adresse gesendet, Ihr E-Mail-Service-Provider (ESP) verzeichnet einen Hard Bounce, und Ihre Absenderreputation erleidet einen kleinen Einbruch aufgrund eines Fehlers, der völlig vermeidbar gewesen wäre.

Reguläre Ausdrücke für E-Mail-Adressen bilden die erste Verteidigungslinie gegen fehlerhafte Daten. Sie prüfen anhand von Mustern, ob eine Eingabe einer korrekt strukturierten E-Mail-Adresse entspricht, bevor sie gespeichert oder verarbeitet wird. Ein Verständnis der Funktionsweise regulärer Ausdrücke und ihrer Grenzen hilft Ihnen, zuverlässigere Validierungssysteme zu entwickeln.

Was ist ein regulärer E-Mail-Ausdruck?

Ein regulärer Ausdruck (Regex) ist eine Zeichenfolge, die ein Suchmuster definiert. Ein E-Mail-Regex ist ein speziell dafür erstelltes Muster, um Zeichenketten zu finden, die der Struktur einer gültigen E-Mail-Adresse entsprechen.

Wenn ein Benutzer ein Formular absendet, wird der reguläre Ausdruck auf die Eingabe angewendet. Stimmt die Zeichenkette mit dem Muster überein (korrekte Zeichen, das @-Zeichen an der richtigen Stelle, eine gültige Domänenstruktur), ist die Prüfung erfolgreich. Andernfalls kann das Formular die Eingabe ablehnen und den Benutzer zur Korrektur auffordern.

E-Mail-Regex arbeitet auf Eingabe- oder Formularebene. Seine Aufgabe ist es, offensichtliche Formatierungsfehler frühzeitig zu erkennen, bevor die Daten in Ihr System gelangen. Es kontaktiert keinen Server und prüft auch nicht, ob die Adresse gültig ist; es handelt sich lediglich um eine Strukturprüfung des Textes selbst.

Warum E-Mail-Regex wichtig ist

Jede ungültige Adresse in Ihrer Datenbank verursacht Folgeprobleme. Sie erhöht die Bounce-Rate, verfälscht Ihre Berichte und verschwendet Sendeguthaben für Kontakte, die Ihre Nachrichten nie empfangen können.

Die Regex-Validierung erkennt die häufigsten Fehler direkt an der Quelle: fehlende @-Zeichen, leere lokale Teile und fehlerhafte Domainnamen. Indem diese Fehler beim Dateneingabevorgang herausgefiltert werden, bleibt Ihre Datenbank sauber, ohne die Backend-Prozesse zu beeinträchtigen.

Die Auswirkungen betreffen mehrere Teams. Für Marketingfachleute bedeutet eine sauberere Datenerfassung von Anfang an eine bessere Zustellbarkeit. Für Produktentwickler ist es eine einfache, latenzarme Prüfung, die client- oder serverseitig ohne externe API-Aufrufe ausgeführt wird. Für Datenteams reduziert es die Anzahl der Datensätze, die später manuell geprüft oder korrigiert werden müssen.

Reguläre Ausdrücke sind effizient, weil sie ressourcenschonend sind; sie prüfen lediglich das Format. Für alles darüber hinaus sind zusätzliche Ebenen erforderlich.

Wie reguläre Ausdrücke in E-Mails funktionieren

Reguläre Ausdrücke funktionieren, indem sie eine Textzeichenkette Zeichen für Zeichen mit einem definierten Muster vergleichen. Jeder Teil des Musters beschreibt, was erlaubt ist: bestimmte Zeichen, Zeichenklassen, Wiederholungsregeln oder erforderliche Sequenzen.

Für eine E-Mail-Adresse muss das Muster drei strukturelle Teile berücksichtigen:

E-Mail-Validierungs-Regex
  1. Der lokale Teil: alles vor dem @-Symbol (z. B. john.doe)
  2. Das @-Symbol: genau einer, in der richtigen Position
  3. Die Domäne: der Domainname und die Top-Level-Domain (TLD) nach dem @-Zeichen (z. B. example.com).

Ein einfacher regulärer Ausdruck für E-Mails prüft, ob alle drei Teile vorhanden sind und ob die Zeichen in jedem Abschnitt zulässig sind. Das Muster ^[^\s@]+@[^\s@]+\.[^\s@]+$ bedeutet beispielsweise: Anfang der Zeichenkette, ein oder mehrere Zeichen, die kein Leerzeichen oder @ sind, dann ein @, dann weitere Zeichen, die kein Leerzeichen oder @ sind, dann ein Punkt, dann weitere Zeichen, die kein Leerzeichen oder @ sind, Ende der Zeichenkette.

Das ist ein bewusst vereinfachtes Beispiel. Die Muster in der realen Welt werden spezifischer, je nachdem, wie streng man die Gültigkeit definieren möchte.

Häufig verwendete Regeln für E-Mail-Regex

E-Mail-Regex-Muster folgen einer Reihe praktischer Regeln, die definieren, wie eine gültige Adresse auszusehen hat. Sie decken zwar nicht jeden Sonderfall ab, spiegeln aber die Struktur wider, die die meisten Systeme für die alltägliche Validierung verwenden.

Lokale Teilregeln (vor dem @):

  • Zulässig sind Buchstaben (a–z, A–Z) und Ziffern (0–9).
  • Zu den Sonderzeichen gehören Punkte (.), Unterstriche (_), Bindestriche (-) und Pluszeichen (+).
  • Der lokale Teil darf nicht mit einem Punkt beginnen oder enden.
  • Aufeinanderfolgende Punkte (..) sind nicht zulässig.
  • Die Länge ist gemäß den einschlägigen RFC-Spezifikationen technisch auf 64 Zeichen begrenzt.

Domänenregeln (nach dem @):

  • Die Domain muss mindestens einen Punkt enthalten, der den Domainnamen von der Top-Level-Domain (TLD) trennt (z. B. example.com).
  • Beschriftungen zwischen Punkten können Buchstaben, Ziffern und Bindestriche enthalten, dürfen aber nicht mit einem Bindestrich beginnen oder enden.
  • Die Top-Level-Domain (TLD) muss mindestens zwei Zeichen lang sein. Die meisten modernen Domain-Muster akzeptieren TLDs unterschiedlicher Länge, um neuere Endungen wie .io, .museum oder .photography abzudecken.

Allgemeine Einschränkungen für die gesamte Adresse:

  • In der Adresse sind keine Leerzeichen zulässig.
  • Das @-Symbol darf genau einmal vorkommen.
  • Die Gesamtlänge der Adresse darf gemäß RFC 5321 254 Zeichen nicht überschreiten.

Arten von E-Mail-Regex-Mustern

Nicht alle regulären Ausdrücke für E-Mail-Adressen dienen demselben Zweck. Die richtige Wahl hängt davon ab, wie streng Ihre Validierung sein muss.

Einfache Muster decken die Grundlagen ab: einen lokalen Teil, ein @-Zeichen, eine Domain und eine Top-Level-Domain (TLD). Sie lassen sich schnell erstellen, sind leicht lesbar und eignen sich gut für die meisten Standardanwendungen wie Anmeldeformulare und Kontaktformulare. Der Nachteil ist, dass sie unter Umständen Zeichenketten akzeptieren, die technisch gesehen gegen die Regeln verstoßen, und auch ungewöhnliche, aber gültige Adressen versehentlich ablehnen können.

Ein häufig verwendetes einfaches Muster in JavaScript sieht folgendermaßen aus:

/^[^\s@]+@[^\s@]+\.[^\s@]+$/

Komplexe Muster versuchen, die vollständige E-Mail-Spezifikation präziser umzusetzen. Sie definieren zulässige Zeichen explizit, erzwingen Regeln zur Punktplatzierung, berücksichtigen Zeichenketten in Anführungszeichen im lokalen Teil und verarbeiten IP-Adressliterale in der Domain. Diese Muster sind zwar genauer, aber deutlich schwieriger zu lesen und zu pflegen.

Ein detaillierteres Muster, das in vielen Produktionssystemen verwendet wird:

/^[a-zA-Z0-9._%+\-]+@[a-zA-Z0-9.\-]+\.[a-zA-Z]{2,}$/

Diese Liste führt explizit die im lokalen Teil zulässigen Zeichen auf, erlaubt Bindestriche in Domainbezeichnungen und verlangt eine TLD von mindestens zwei Zeichen.

Der praktische Kompromiss

Einfache Muster sind leichter zu pflegen und führen seltener zu Fehlalarmen. Komplexe Muster gewährleisten eine strengere Formatvorgabe, erhöhen aber den Implementierungsaufwand. Für die meisten Marketing- und Produktanwendungen reicht ein gut getestetes Muster mittlerer Komplexität völlig aus, und die Echtzeitverifizierung erledigt den Rest.

Bewährte Verfahren zur E-Mail-Validierung mit regulären Ausdrücken

Reguläre Ausdrücke funktionieren am besten, wenn sie als Teil eines umfassenderen Validierungsprozesses betrachtet werden. Ein zu strenges Muster kann berechtigte Benutzer blockieren, während ein zu lockeres fehlerhafte Daten durchlässt. Ziel ist ein ausgewogenes Verhältnis, bei dem Formatprüfungen zuverlässig sind, ohne zusätzliche Probleme zu verursachen.

  • Achten Sie darauf, dass Ihr Muster lesbar bleibt: Ein regulärer Ausdruck, den niemand in Ihrem Team ohne Handbuch interpretieren kann, stellt ein Wartungsrisiko dar. In den meisten Fällen ist ein klares und einigermaßen detailliertes Muster praktischer als eines, das versucht, jeden in den RFC-Standards definierten Sonderfall abzudecken.
E-Mail-Validierung mit regulären Ausdrücken
  • Vor der Bereitstellung mit einer Vielzahl von Eingaben testen: Berücksichtigen Sie Sonderfälle wie Adressen mit einem + im lokalen Teil ([E-Mail geschützt] ), Subdomänen ([E-Mail geschützt] ), und neuere TLDs ([E-Mail geschützt] Ein Muster, das bei legitimen Eingaben versagt, erzeugt Reibungsverluste für echte Benutzer.
  • Reguläre Ausdrücke mit zusätzlicher Überprüfung kombinieren: Reguläre Ausdrücke bestätigen das Format, aber nicht die Existenz der Adresse. Bei Registrierungsprozessen und Listenimporten sollte die Formatvalidierung mit einer Bestätigungs-E-Mail oder einer Echtzeit-Überprüfung kombiniert werden. E-Mail-Verifizierung Überprüfung. Diese Funktion erkennt Wegwerfadressen, Tippfehler in der Domain und Adressen, die zwar korrekt formatiert sind, aber nicht existieren.
  • Priorisieren Sie die Benutzererfahrung: Wenn Ihr regulärer Ausdruck eine gültige Adresse ablehnt, beispielsweise eine mit einem Pluszeichen oder einer neueren Top-Level-Domain (TLD), verlieren Sie einen potenziellen Abonnenten, ohne es zu bemerken. Es ist sicherer, bei der Formatierung etwas mehr Eingabemöglichkeiten zuzulassen und sich auf spätere Prüfungen zu verlassen, um unbrauchbare Adressen herauszufiltern.

Häufige Fehler und Einschränkungen von E-Mail-Regex

Zu verstehen, was reguläre E-Mail-Ausdrücke nicht leisten können, ist genauso wichtig wie zu wissen, wie man sie schreibt.

  • Regulärer Ausdruck prüft das Format, nicht die Existenz: Eine Schnur wie [E-Mail geschützt] Die Adresse wird zwar die meisten E-Mail-Regex-Prüfungen bestehen, das bedeutet aber nicht, dass sie echt, aktiv oder zustellbar ist. Reguläre Ausdrücke berücksichtigen weder DNS noch Mailserver oder die tatsächliche Existenz eines Postfachs. Format- und Zustellbarkeitsprüfungen sind zwei unterschiedliche Vorgänge.
  • Falsch negative Ergebnisse, gültige Adressen werden abgelehnt: Manche legitime Adressen erfüllen nicht die strengen Muster. Adressen mit einem + im lokalen Teil ([E-Mail geschützt] ) werden häufig zu Filterzwecken verwendet und sind voll gültig. Neuere Top-Level-Domains (TLDs) wie .museum, .io oder .agency können ebenfalls abgelehnt werden, wenn Ihr Filtermuster eine Beschränkung auf zwei Zeichen für die TLD vorsieht. Jede fälschliche Ablehnung bedeutet, dass sich eine reale Person nicht anmelden konnte.
  • Falsch positive Ergebnisse, Akzeptanz ungültiger Zeichenketten: Einfache Muster können Zeichenketten verarbeiten, die zwar korrekt aussehen, es aber nicht sind. Beispielsweise besteht user@example viele grundlegende Prüfungen, besitzt aber keine gültige Top-Level-Domain (TLD). Ein Muster, das keine Mindestlänge für die TLD erzwingt, akzeptiert diese Zeichenkette und speichert eine nicht zustellbare Adresse.
E-Mail-Adressen-Regex
  • Übermäßig komplexe Muster scheitern: Muster, die versuchen, die vollständige E-Mail-Spezifikation gemäß RFC 5322 zu implementieren, können Hunderte von Zeichen umfassen und dennoch in Grenzfällen versagen. Sie sind schwer zu testen, schwierig zu debuggen und führen oft zu neuen Problemen beim Versuch, alte zu lösen. Die E-Mail-Spezifikation selbst ist so komplex, dass kein einzelner regulärer Ausdruck sie perfekt abdeckt.
  • Reguläre Ausdrücke sind der erste Filter, aber nicht die vollständige Lösung: Es erkennt Formatierungsfehler schnell und kostengünstig. Für alles darüber hinaus, wie Domaingültigkeit, MX-Einträge, Existenz von Postfächern und Erkennung von Wegwerfadressen, benötigen Sie eine Verifizierungsebene. Prüfungen wie diese MX-Datensatzabfragen Eine vollständige E-Mail-Validierung geht über reguläre Ausdrücke hinaus und bestätigt, ob eine Adresse tatsächlich Nachrichten empfangen kann und nicht nur, ob sie korrekt aussieht.

Fazit

Reguläre Ausdrücke für E-Mail-Adressen bieten eine schnelle und ressourcenschonende Möglichkeit, Formatierungsfehler abzufangen, bevor sie in Ihr System gelangen. Es empfiehlt sich, sie für jedes Formular und jeden API-Endpunkt zu implementieren, der E-Mail-Eingaben akzeptiert. Sie stellen jedoch nur den ersten, nicht den letzten Schritt im Validierungsprozess dar.

Eine korrekt formatierte Adresse kann dennoch inaktiv, eine Wegwerfadresse, an eine Catch-All-Domain gebunden oder schlichtweg nicht existent sein. Solche Adressen bestehen jeden regulären Ausdruck. Sobald sie in Ihrer Datenbank gespeichert sind, erhöhen sie Ihre Bounce-Rate und beeinträchtigen Ihre Performance. E-Mail-Sicherheit Ihre Körperhaltung und die allgemeine Zuverlässigkeit Ihrer Kontaktdaten werden dadurch beeinträchtigt.

Laden Sie Ihre Liste zu DeBounce hoch. DeBounce geht über reine Formatprüfungen hinaus. Es überprüft die Syntax gemäß RFC-Standards, prüft DNS- und MX-Einträge, testet die Existenz von Postfächern und kennzeichnet Wegwerf- und riskante Adresstypen – und erfasst so, was reguläre Ausdrücke nicht erkennen. Starten Sie mit 100 kostenlosen Überprüfungen, um vor dem nächsten Versand genau zu sehen, was sich in Ihrer Liste befindet.

Häufige Fragen zum Großhandel mit Lebensmitteln und Getränken

Antworten auf häufig gestellte Fragen zu diesem Thema.
01

Kann eine E-Mail-Adresse mehrere @-Zeichen enthalten?

Nein. Gemäß der E-Mail-Spezifikation ist genau ein @-Zeichen erforderlich, um den lokalen Teil von der Domain zu trennen. Jede Zeichenkette mit null oder mehr als einem @-Zeichen ist keine gültige E-Mail-Adresse und schlägt sowohl bei regulären Ausdrücken als auch bei serverseitigen Prüfungen fehl.

02

Wie lang darf eine gültige E-Mail-Adresse maximal sein?

Der lokale Teil (vor dem @-Zeichen) ist auf 64 Zeichen, die Domain auf 255 Zeichen und die gesamte Adresse auf 254 Zeichen begrenzt (gemäß RFC 5321). Die meisten Adressen in der Praxis liegen deutlich unter diesen Grenzen, dennoch empfiehlt es sich, diese in der Validierungslogik zu berücksichtigen, um Speicherprobleme in Sonderfällen zu vermeiden.

03

Können reguläre Ausdrücke E-Mails mit internationalen Zeichen (Unicode) validieren?

Standardmäßige reguläre Ausdrücke für ASCII-Zeichensätze verarbeiten internationalisierte E-Mail-Adressen nicht korrekt, da diese nicht-lateinische Zeichen im lokalen Teil enthalten können. Zur Validierung internationalisierter Adressen ist entweder ein erweiterter regulärer Ausdruck mit Unicode-Zeichenklassen oder eine spezielle Parsing-Bibliothek erforderlich. In den meisten Anwendungsfällen deckt die Standard-ASCII-Validierung die überwiegende Mehrheit der Adressen ab; die Kombination mit den Verifizierungstools von E-Mail-Sicherheitsanbietern erledigt den Rest.