So funktioniert das Muster
| Teil | Bedeutung |
|---|---|
^\d{4} | Vierstellige Jahreszahl |
(?:0[1-9]|1[0-2]) | Monat 01–12 |
(?:0[1-9]|[12]\d|3[01]) | Tag 01–31 |
- | Wörtliche Bindestriche zwischen den Teilen |
Codebeispiele
JavaScript
const re = /^\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\d|3[01])$/;
re.test(value); // true or falsePython
import re
bool(re.fullmatch(r'\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\d|3[01])', value))PHP
preg_match('/^\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\d|3[01])$/', $value) === 1;
Hinweise und Einschränkungen
Ein Regex kann das Format prüfen, aber nicht den Kalender: 2026-02-30 besteht die Prüfung. Bestätige nach dem Matchen mit einer Datumsbibliothek oder new Date(value) und vergleiche die Teile. Dies ist das ISO-8601-Format, das von <input type="date"> verwendet wird.
Regex-Tester
Gib ein Muster ein und sieh zu, wie Übereinstimmungen in deinem Testtext in Echtzeit hervorgehoben werden.