Wir werden direkt zur kurzen Antwort springen und uns um die langatmige Erklärung danach kümmern.

Ganz einfach - nein.

Ich kann die Entwickler und die Advokaten des Teufels da draußen hören, die unsere stumpfe Ablehnung von regex in Frage stellen E-Mail-ValidierungEs stellt sich also die weitere Frage, warum es überhaupt existiert.

Nun, wir werden nicht leugnen, dass es ein nützliches Werkzeug sein kann, und es ist sicherlich ein cleveres kleines Stück Kit, um Benutzer daran zu hindern, irgendeinen alten Text in ein Formular oder ein anderes ausführbares Medium einzufügen. Es gab eine Zeit, in der E-Mail-Regex eine Rolle bei der Erfassung von E-Mail-Daten gespielt hat.

Aber jetzt? Auf dem neuesten Stand der Technik und Standards?

Wir sagen, es hat ausgedient.

Wenn Sie sicherstellen wollen, dass Sie saubere E-Mail-Adressen die Ihr E-Mail-Marketing, Ihre Bounce-Raten, Zustellbarkeitswerte und all die Dinge, von denen Sie wissen, dass Sie sie brauchen, um Ihre Metriken hoch zu halten und Ihre Konversionen zu steigern, nicht durcheinander bringen, dann ist Regex nicht der richtige Weg.

Was ist ein E-Mail-Validierungs-Regex?

Regex ist die Abkürzung für reguläre Ausdrücke; es ist ein Begriff, der in verschiedenen Programmiersprachen verwendet wird. Regex oder reguläre Ausdrücke beziehen sich auf kodierte Textzeichenfolgen, die so konzipiert sind, dass sie mit in anderen Zeichenfolgen gefundenen Mustern übereinstimmen.

Sie können sehr praktisch sein, wenn ein Benutzer eine Zeichenkette mit einem bestimmten Muster abgleichen muss, um zu überprüfen, ob die eingegebenen Informationen korrekt erscheinen. Denken Sie an Telefonnummern, Postleitzahlen, Datumsangaben und, ja, das Wichtigste, um das es geht - E-Mail-Adressen.

Mit einem einfachen Muster kann eine exakte Zeichenfolge mit einem Satz von Regeln abgeglichen werden. Wenn einfache Muster komplizierter werden, wird Regex weniger effizient und liefert mit größerer Wahrscheinlichkeit schlechte Ergebnisse.

Das hört sich soweit gut an - was ist also das Problem mit der Regex-E-Mail-Validierung?

So raffiniert ein Werkzeug wie regex auch ist, es deckt nicht die Prüfungen ab, die Sie brauchen. Werfen Sie einen Blick auf diese:

[email protected]
[email protected]
[email protected]
[email protected]

Nehmen wir an, Sie entdecken einen der oben genannten Einträge in Ihrer E-Mail-Liste; Sie würden sie sofort markieren (oder sollten es!). Sie würden nicht glauben, dass es sich um gültige Einträge von echten Menschen handelt, die ein Interesse an Ihrem Produkt und Ihrer Dienstleistung zeigen.

Die Regex-E-Mail-Validierung würde das aber. Es würde sie alle durchlassen.

Warum? Weil diese offensichtlich gefälschten Adressen immer noch den Mustern folgen, die die Regeln bestätigen sollen.

Jetzt sieht es nicht mehr ganz so schick aus, oder?

Es ist zu restriktiv

Obwohl die vorherigen Beispiele für uns so offensichtlich falsch aussehen, enthalten einige E-Mail-Formate weit mehr Sonderzeichen, als wir gewohnt sind zu sehen.

In seiner einfachsten Form folgt eine E-Mail-Adresse dem folgenden Format:

[email protected]äne

E-Mail-Adressen sind in drei Abschnitten aufgebaut:

  • Der lokale Teil - typischerweise ein Benutzername oder eine Jobrolle
  • Das @-Zeichen
  • Die Domain, einschließlich einer gültigen TLD (Top Level Domain)

Wenn das alles wäre, wonach der Code suchen müsste, dann würde ein typischer Javascript-Regex-Check verhindern, dass eine Menge schlechter Kontakte in unseren Listen landen.

Typischerweise können unsere E-Mail-Adressen die folgenden Zeichen enthalten:

  • Ziffern: 0 bis 9
  • Klein- und Großbuchstaben: a bis z und A bis Z
  • Zusätzliche Sonderzeichen: !#$%&'*+-/=?^_`{|}~
  • Das Punktzeichen [.]: Aber nicht als erstes oder letztes Zeichen, oder fortlaufend verwendet

Wenn sich jemand mit einem oder mehreren dieser Sonderzeichen bei Ihrer E-Mail-Liste anmelden würde, würden sich die meisten von uns fragen, ob etwas nicht in Ordnung ist, und das zu Unrecht - nach der aktuellen Konvention sind sie alle erlaubt.

Regex prüft nichts anderes als die Syntax

Entwickler sind vielleicht nur daran interessiert, gültig aussehende Adressen durch ein Formular zu bekommen, aber wir sind es nicht. Wir müssen es wissen:

  • Ist die Domain vorhanden?
  • Gibt es einen MX-Eintrag, der beweist, dass die Domain einen Mailserver hat?
  • Verfügt die E-Mail-Adresse über ein funktionierendes E-Mail-Konto?

Jede dieser Fragen, die mit "Nein" beantwortet wird, wird auch von uns als Marketern mit einem harten "Nein" beantwortet. Regex prüft nichts davon - nur ein spezielles E-Mail-Validierungstool kann solche roten Fahnen aufspüren.

Es erkennt keine temporären und Wegwerfadressen

Als E-Mail-Vermarkter wissen wir auch, dass viele Benutzer gefälschte temporäre Konten einrichten, um von einem Angebot, einer Werbeaktion oder einer anderen Situation zu profitieren. Das ist ein einfacher Weg, um zu vermeiden, dass ihre bestehenden E-Mail-Konten überladen werden oder sie Informationen über sich preisgeben, die sie nicht preisgeben wollen.

Es ist einfach, eine temporäre oder Wegwerf-E-Mail-Adresse als einmalige Lösung einzurichten. Diese Adressen verschwinden oft innerhalb von 10 oder 15 Minuten, nachdem sie eingerichtet wurden, und sind somit unglaublich zweckdienlich.
Regex prüft nicht auf diese. Temporäre und Wegwerf-E-Mail-Adressen bestehen alle Regex-Validierungstests.

Wie würden Sie ein E-Mail-Regex-Javascript einrichten?

Wenn Sie ein Dilettant sind Entwickler, brauchen Sie wahrscheinlich nicht unser Grundverständnis für das Thema, um Ihnen zu sagen, wie es geht, aber für diejenigen unter Ihnen mit etwas Erfahrung in der Codierung sollte es in etwa so aussehen:

function ValidateEmail(inputText)

{

var mailformat = [a-z0-9!#$%&’*+/=?^_`{|}~-]+(?:.[a-z0-9!#$%&’*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?

if(inputText.value.match(mailformat))

{

alert("Dies ist keine gültige E-Mail Adresse");

return false;

}

}

Der Teil, der die ganze schwere Arbeit macht, ist der var mailformat Zeile. Die Ausführung und die Zeichen in dieser langen Codezeile definieren, was erlaubt ist und was nicht.

Sie können die einfachen Dinge erkennen: a-z, A-Z, 0-9, und dann die Sonderzeichen im ersten, lokalen Abschnitt. Die [email protected] diktiert dann das lokale und das Domänen-Trennzeichen. Nach dem @ haben wir dann eine weitere Reihe von Anweisungen, was für den Domain-Abschnitt zulässig ist.

Wenn Sie einen viel tieferen Einblick in die Implementierung eines Regex-Validators haben möchten, dann besuchen Sie abstract. Sie haben eine wirklich gute Anleitung, was genau nötig ist, und sind Experten, wenn es um alle Arten von API Ergänzungen und Einschlüsse.

Wenn ein Job es wert ist, gemacht zu werden, dann ist er es wert, gut gemacht zu werden - validieren Sie also Ihre Listen auf die bestmögliche Weise

Es gibt nur einen Weg, um sicherzustellen, dass Ihre E-Mail-Listen in einem erstklassigen Zustand sind, und das ist die Verwendung eines speziellen E-Mail-Validierungstools wie Türsteher.

Die Regex-Validierung könnte dafür verantwortlich sein, dass gefälschte E-Mail-Adressen in Ihre E-Mail-Listen gelangen und gültige Adressen blockiert werden. Wenn es darum geht, eine Authentifizierungsmethode zu Ihren Online-Formularen oder Datenerfassungsmethoden hinzuzufügen, würden wir andere, robustere Formen der Validierung vorschlagen.

Letztendlich läuft der Betrieb Ihrer E-Mail-Listen über eine Plattform wie Türsteher ist bei weitem der beste Weg, um Ihre Listen sauber und gesund zu halten, Ihre Absprungraten niedrig, Ihre Zustellbarkeit hoch und Ihre Absender-Punktzahl tipptopp in Form.

MEHR LESEN
Weniger ist mehr - warum und wie bereinigt man eine E-Mail-Liste?

Entscheiden Sie sich für eine gründliche E-Mail-Verifizierung, entscheiden Sie sich für Bouncer