Regex für Datum (MM/DD/YYYY)

Verwende /^(?:0[1-9]|1[0-2])\/(?:0[1-9]|[12]\d|3[01])\/\d{4}$/, um zu prüfen, ob ein ganzer String ein gültiges Datum im Format (MM/DD/YYYY) ist. Jedes Beispiel unten wurde gegen das Muster getestet, und du kannst es mit vorgeladenen Beispielen im Regex-Tester öffnen.

Aktualisiert am

/^(?:0[1-9]|1[0-2])\/(?:0[1-9]|[12]\d|3[01])\/\d{4}$/
Im Regex-Tester öffnen
EingabeErgebnis
10/30/2026✓ Treffer
01/01/2000✓ Treffer
12/31/1999✓ Treffer
13/01/2026✗ Kein Treffer
1/5/2026✗ Kein Treffer
30/10/2026✗ Kein Treffer
10-30-2026✗ Kein Treffer

So funktioniert das Muster

TeilBedeutung
(?:0[1-9]|1[0-2])Monat 01–12 zuerst (US-Reihenfolge)
\/Ein Schrägstrich (für JavaScript-Literale escaped)
(?:0[1-9]|[12]\d|3[01])Tag 01–31
\d{4}$Vierstellige Jahreszahl am Ende

Codebeispiele

JavaScript

const re = /^(?:0[1-9]|1[0-2])\/(?:0[1-9]|[12]\d|3[01])\/\d{4}$/;
re.test(value); // true or false

Python

import re

bool(re.fullmatch(r'(?:0[1-9]|1[0-2])/(?:0[1-9]|[12]\d|3[01])/\d{4}', value))

PHP

preg_match('/^(?:0[1-9]|1[0-2])\/(?:0[1-9]|[12]\d|3[01])\/\d{4}$/', $value) === 1;

Hinweise und Einschränkungen

Um auch einstellige Monate und Tage zu akzeptieren, ersetze 0[1-9] durch 0?[1-9] an beiden Stellen. Die Tage pro Monat werden nicht geprüft, daher solltest du das Datum danach selbst validieren.

Häufige Fragen

Wie lautet der Regex für Datum (MM/DD/YYYY)?
/^(?:0[1-9]|1[0-2])\/(?:0[1-9]|[12]\d|3[01])\/\d{4}$/ – er matcht den gesamten String. Die Tabelle oben zeigt, was jeder Teil macht.
Welche Beispiele treffen zu?
Von den getesteten Beispielen passen diese: 10/30/2026, 01/01/2000, 12/31/1999. Die anderen nicht.
Wie teste ich diesen Regex?
Klicke auf „Im Regex-Tester öffnen“ – Muster, Flags und Beispieltext werden automatisch geladen, und Treffer werden beim Bearbeiten markiert.