Anleitung · JavaScript & Node.js

E-Mail-Adressen in JavaScript validieren

E-Mail-Validierung in JavaScript in vier Schritten: sofortiges Feedback im Browser, eine sinnvolle Formatprüfung, Hinweise auf Tippfehler und eine echte Postfachprüfung auf dem Server.

Aktualisiert am 9. Oktober 2026 · 2 Min. Lesezeit

E-Mail-Adresse in JavaScript mit einem regulären Ausdruck validieren

1. Die erste Prüfung übernimmt der Browser

<input type="email" name="email" required autocomplete="email">

type="email" zeigt Mobilgeräten die passende Tastatur und blockiert offensichtlich fehlerhafte Eingaben, bevor das Formular abgeschickt wird. Prüfen Sie input.validity.valid oder hören Sie auf das Event invalid, um eine eigene Meldung anzuzeigen.

2. Eine praxistaugliche Formatprüfung

const EMAIL = /^[^\s@]+@[^\s@]+\.[^\s@]{2,}$/;

function looksLikeEmail(value) {
  const email = value.trim();
  return email.length <= 254 && EMAIL.test(email);
}

looksLikeEmail("anna@example.com"); // true
looksLikeEmail("anna@example");     // false

Bauen Sie keine strenge eigene Regex. Solche Muster lehnen oft echte Kunden ab (o'brien@example.ie, anna+news@example.com) und akzeptieren trotzdem asdf@asdf.com. Unser E-Mail-Syntax-Checker zeigt die einzelnen Regeln, falls Sie sie brauchen.

3. Tippfehler abfangen

Die meisten ungültigen Anmeldungen sind Tippfehler in bekannten Domains: gmial.com, hotmial.com, yaho.com. Schlagen Sie eine Korrektur vor, statt abzulehnen:

const DOMAINS = ["gmail.com", "yahoo.com", "hotmail.com", "outlook.com", "icloud.com"];

function suggest(email) {
  const [user, domain] = email.toLowerCase().split("@");
  const close = DOMAINS.find((d) => d !== domain && levenshtein(d, domain) <= 2);
  return close ? `${user}@${close}` : null;
}

(Jede kleine Levenshtein-Funktion reicht; die E-Mail-Validierungs-API liefert außerdem einen Vorschlag im Feld did_you_mean.)

4. Prüfen, ob das Postfach existiert (Node.js)

Nur eine Prüfung beim Mailserver des Empfängers sagt Ihnen, ob anna@example.com wirklich existiert. Machen Sie das auf Ihrem Server:

// Node.js 18+ (eingebautes fetch)
async function validateEmail(email) {
  const url = `https://api.emailvalidation.io/v1/info?email=${encodeURIComponent(email)}`;
  const res = await fetch(url, { headers: { apikey: process.env.EMAILVALIDATION_KEY } });
  if (!res.ok) throw new Error(`Validation failed: ${res.status}`);
  return res.json();
}

const result = await validateEmail("anna@example.com");
if (result.state === "undeliverable") {
  // ablehnen: die Adresse existiert nicht
} else if (result.disposable) {
  // nach einer dauerhaften Adresse fragen
}

Die Antwort enthält state (deliverable, undeliverable oder unknown), einen reason, einen score und die Merkmale format_valid, mx_found, smtp_check, catch_all, disposable, role und free.

Empfohlener Ablauf für Anmeldeformulare

  1. type="email" plus die Regex für sofortiges Feedback.
  2. Tippfehler-Vorschlag, wenn das Feld den Fokus verliert.
  3. API-Prüfung beim Absenden (serverseitig). Blockieren Sie undeliverable und disposable, akzeptieren Sie den Rest.
  4. Ist die API langsam oder nicht erreichbar, akzeptieren Sie die Adresse: Blockieren Sie nie Anmeldungen wegen eines Ausfalls der Validierung.

Probieren Sie es ohne Code im E-Mail-Validator aus.

E-Mail-Validierung in anderen Sprachen

Häufig gestellte Fragen

Was ist die beste Regex, um eine E-Mail-Adresse in JavaScript zu validieren?

Halten Sie sie einfach: /^[^\s@]+@[^\s@]+\.[^\s@]{2,}$/ fängt Tippfehler ab, ohne gültige, aber ungewöhnliche Adressen abzulehnen. Vollständig RFC-konforme Regexes sind riesig und können trotzdem nicht sagen, ob das Postfach existiert.

Kann ich im Browser prüfen, ob eine E-Mail-Adresse existiert?

Nicht direkt: Browser können keine SMTP-Verbindungen öffnen. Rufen Sie Ihr eigenes Backend auf, das mit Ihrem geheimen Schlüssel eine E-Mail-Validierungs-API aufruft. Legen Sie den API-Key nie in den Frontend-Code.

E-Mail-Validierungs-API

E-Mail-Adressen in Ihrer Anwendung prüfen

emailvalidation.io prüft Syntax, MX-Einträge und das Postfach per SMTP, markiert Wegwerf-, Rollen- und Freemail-Adressen und liefert einen Qualitätswert, alles in einer Anfrage.

/v1/info E-Mail-Validierungs-API Zur Dokumentation

100 kostenlose Prüfungen pro Monat. Keine Kreditkarte nötig.

GET https://api.emailvalidation.io/v1/info?email=support@emailvalidation.io

{
  "email": "support@emailvalidation.io",
  "user": "support",
  "tag": "",
  "domain": "emailvalidation.io",
  "format_valid": true,
  "mx_found": true,
  "smtp_check": true,
  "catch_all": null,
  "role": true,
  "disposable": false,
  "free": false,
  "score": 0.64,
  "state": "deliverable",
  "reason": "low_quality",
  "did_you_mean": "",
  "catch_all_resolution": null,
  "bounce_probability": null,
  "status": "valid",
  "sub_status": "role_based",
  "explanation": "The mailbox exists, but it is a role address (such as info@ or support@), usually read by a team rather than one person.",
  "recommended_action": "send_with_caution"
}

Weiterlesen

Starten Sie noch heute mit unserer E-Mail-Validierung!

Kostenlos starten