CRM- und DatenplattformenE-Mail-Marketing & Automatisierung

So validieren Sie eine E-Mail-Adresse mit regulären Ausdrücken (Regex). Beispiele für HTML5-, PHP-, C#-, Python- und Java-Code.

Nahezu jede Programmiersprache unterstützt heutzutage reguläre Ausdrücke. Obwohl einige Entwickler sie nicht mögen, sind sie wirklich eine bewährte Methode, da sie normalerweise Funktionen wie die Validierung extrem schnell mit weniger Serverressourcen ausführen. E-Mail-Adressen sind ein perfektes Beispiel … wo sie leicht überprüft werden können, um sicherzustellen, dass sie richtig formatiert sind.

Denken Sie daran, dass die Validierung nicht der Fall ist Überprüfung. Validierung bedeutet einfach, dass die übergebenen Daten einem ordnungsgemäß aufgebauten Standardformat folgen. Einige interessante Dinge über E-Mail-Adressen, die bei der Validierung übersehen werden könnten.

Was ist eine E-Mail-Adresse?

Eine E-Mail-Adresse, wie sie vom Internet Message Format (RFC 5322) besteht aus zwei Hauptteilen: einem lokalen Teil und einem Domänenteil. Der lokale Teil kommt vor dem @ Symbol und der Domänenteil kommt danach. Hier ist ein Beispiel für eine E-Mail-Adresse: example@example.com, Wobei example ist der lokale Teil und example.com ist der Domänenteil.

  • Lokale – Der lokale Teil einer E-Mail-Adresse kann eine Kombination aus alphanumerischen Zeichen, Punkten, Bindestrichen, Pluszeichen und Unterstrichen enthalten. Es wird normalerweise verwendet, um ein bestimmtes Postfach oder Konto auf einem Server zu identifizieren.
  • Domain – Der Domänenteil einer E-Mail-Adresse besteht aus dem Domänennamen und seiner Top-Level-Domäne (TLDs). Der Domänenname ist eine Zeichenfolge, die den Server identifiziert, der das E-Mail-Konto hostet. Die TLD gibt die Art der für den Domainnamen verantwortlichen Entität an, beispielsweise einen Ländercode (z .uk) oder eine generische Top-Level-Domain (z .com, .org).

Während dies die grundlegende Struktur einer E-Mail-Adresse ist, sind die Regeln dafür, was eine gültige E-Mail-Adresse ausmacht, komplex.

Wie lang darf eine E-Mail-Adresse sein?

Ich musste heute ein bisschen graben, um es zu finden, aber wussten Sie, wie lang eine E-Mail-Adresse gültig ist? Es ist tatsächlich in Teile zerbrochen ... Local@Domain.com.

  1. Lokal kann 1 bis 64 Zeichen lang sein.
  2. Die Domain kann 1 bis 255 Zeichen lang sein.

Das bedeutet, dass dies – technisch gesehen – eine gültige E-Mail-Adresse sein könnte:

loremaipsumadolorasitaametbaconsectetueraadipiscin
gaelitanullamc@loremaipsumadolorasitaametbaconsect
etueraadipiscingaelitcaSedaidametusautanisiavehicu
laaluctuscaPellentesqueatinciduntbadiamaidacondimn
tumarutrumbaturpisamassaaconsectetueraarcubaeuatin
ciduntaliberoaaugueavestibulumaeratcaPhasellusatin
ciduntaturpisaduis.com

Versuchen Sie, das auf einer Visitenkarte unterzubringen! Ironischerweise sind die meisten E-Mail-Adressfelder im Web auf 100 Zeichen begrenzt … was technisch nicht korrekt ist. Einige der anderen regulären Ausdrücke, die zur Validierung von E-Mail-Adressen verwendet werden, suchen ebenfalls nach einer dreistelligen Top-Level-Domain, wie .com; Es gibt jedoch keine Beschränkung der Länge von Top-Level-Domains (z.B. Martech Zone hat 4 Ziffern – .zone).

Reguläre Ausdrücke

RegEx ist aufgrund seiner programmatischen Struktur eine perfekte Methode zum Testen einer E-Mail-Adresse. Reguläre Ausdrücke sind in Programmiersprachen und Texteditoren weit verbreitet und werden oft in Textverarbeitungsbibliotheken oder Frameworks integriert. Sie werden von vielen Programmiersprachen unterstützt, darunter unter anderem Python, Java, C# und JavaScript.

Die Standardisierung von E-Mail-Adressen ist viel komplexer, als Sie denken. Nach dem Standard geschrieben, ist hier der wahre reguläre Ausdruck für eine E-Mail-Adresse, credit to Regexr:

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

Dieses reguläre Ausdrucksmuster entspricht dem grundlegenden Format einer E-Mail-Adresse, einschließlich alphanumerischer Zeichen, Punkte, Bindestriche, Pluszeichen und Unterstriche im Benutzernamen, gefolgt von einem @ Symbol, gefolgt von einem Domänennamen. Es ist wichtig zu beachten, dass dieses Muster nur das Format der E-Mail-Adresse und nicht das tatsächliche Format überprüft Existenz der E-Mail-Adresse.

HTML5 beinhaltet die Überprüfung der E-Mail-Struktur

Das einfachste Mittel, um sicherzustellen, dass eine E-Mail gemäß dem Standard valide ist, ist die Verwendung eines HTML5-E-Mail-Eingabefelds:

<input type='email' name='email' placeholder='name@domain.com' />

Es kann jedoch vorkommen, dass Ihre Webanwendung die E-Mail-Adresse sowohl bei der Eingabe im Browser als auch bei der Übermittlung an Ihren Server validieren möchte.

Regex für eine korrekte E-Mail-Adresse in PHP

Nur wenige Leute wissen es, aber PHP hat jetzt den RFC-Standard eingebaut Filtervalidierungsfunktion.

if(filter_var("name@domain.com", FILTER_VALIDATE_EMAIL)) {
    // Valid
}
else {
    // Not Valid
}

Regex für eine korrekte E-Mail-Adresse in C#

Hier ist die grundlegende Validierung einer E-Mail-Adresse in C#

using System;
using System.Text.RegularExpressions;

public class EmailValidator
{
    public static bool IsValidEmail(string email)
    {
        string pattern = @"^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$";
        return Regex.IsMatch(email, pattern);
    }
}

Praktische Anwendung dieser Methode:

string email = "example@example.com";
if (EmailValidator.IsValidEmail(email))
{
    Console.WriteLine(email + " is a valid email address.");
}
else
{
    Console.WriteLine(email + " is not a valid email address.");
}

Regex für eine richtige E-Mail-Adresse in Java

Hier ist die grundlegende Validierung einer E-Mail-Adresse in Java

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class EmailValidator {
    private static final Pattern VALID_EMAIL_ADDRESS_REGEX = 
        Pattern.compile("^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,6}$", Pattern.CASE_INSENSITIVE);

    public static boolean isValidEmail(String email) {
        Matcher matcher = VALID_EMAIL_ADDRESS_REGEX .matcher(email);
        return matcher.find();
    }
}

Praktische Anwendung dieser Methode:

String email = "example@example.com";
if (EmailValidator.isValidEmail(email)) {
    System.out.println(email + " is a valid email address.");
} else {
    System.out.println(email + " is not a valid email address.");
}

Regex für eine richtige E-Mail-Adresse in Python

Hier ist eine grundlegende Validierung einer E-Mail-Adresse in Python:

import re

def is_valid_email(email):
    pattern = re.compile(r'^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$')
    return True if pattern.match(email) else False

Praktische Anwendung dieser Methode:

email = "example@example.com"
if is_valid_email(email):
    print(f"{email} is a valid email address.")
else:
    print(f"{email} is not a valid email address.")

Regex für eine richtige E-Mail-Adresse in JavaScript

Sie müssen keinen übermäßig komplexen Standard zum Überprüfen einer E-Mail-Adressstruktur haben. Hier ist ein einfaches Mittel mit JavaScript.

function validateEmail(email) 
{
    var re = /\\S+@\\S+/;
    return re.test(email);
}

Das entspricht natürlich nicht dem RFC-Standard, daher möchten Sie möglicherweise jeden Abschnitt der Daten validieren, um sicherzustellen, dass er gültig ist. Dieser reguläre Ausdruck entspricht etwa 99.9 % der E-Mail-Adressen da draußen. Es entspricht nicht vollständig dem Standard, ist aber für praktisch jedes Projekt nützlich.

function validateEmail(email) 
{
  var re = /^(?:[a-z0-9!#$%&amp;'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&amp;'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$/;

  return re.test(email);
}

Anerkennung für einige dieser Beispiele geht an HTML.form.guide.

Douglas Karr

Douglas Karr ist CMO von Öffnen Sie EINBLICKE und Gründer der Martech Zone. Douglas hat Dutzenden erfolgreicher MarTech-Startups geholfen, war bei der Due Diligence von MarTech-Akquisitionen und -Investitionen im Wert von über 5 Milliarden US-Dollar behilflich und unterstützt weiterhin Unternehmen bei der Umsetzung und Automatisierung ihrer Vertriebs- und Marketingstrategien. Douglas ist ein international anerkannter Experte und Redner für digitale Transformation und MarTech. Douglas ist außerdem Autor eines Dummie-Ratgebers und eines Buchs über Unternehmensführung.

Ähnliche Artikel

Nach oben-Taste
Menu

Adblock erkannt

Martech Zone ist in der Lage, Ihnen diese Inhalte kostenlos zur Verfügung zu stellen, da wir unsere Website durch Werbeeinnahmen, Affiliate-Links und Sponsoring monetarisieren. Wir würden uns freuen, wenn Sie Ihren Werbeblocker entfernen würden, während Sie unsere Website besuchen.