
Datum-Regex-Go-Validator
Validieren Sie Datumsangaben in Formaten wie YYYY-MM-DD, DD/MM/YYYY oder MM-DD-YYYY mit dem Go-Regex-Datum-Validator. Ideal für Formulareingaben, Logs und Berichte. Testen Sie Ihre Muster mit dem Go-Regex-Tester und kombinieren Sie ihn mit Tools wie dem E-Mail-Regex, dem Telefonnummer-Regex und dem Passwort-Validator für eine vollständige Datenvalidierungslösung.
Datum-Regex-Go-Validator, Dokumentation
Einführung: Was ist Datum-Regex?
Die Validierung von Datumsstrings ist unerlässlich, wenn Sie mit Logs, Benutzerformularen, Berichten oder strukturierten Eingaben in Ihrer Go-Anwendung arbeiten. Mit regex sicherzustellen, dass Benutzer Daten im richtigen Format eingeben, bevor sie gespeichert oder verarbeitet werden, ist eine bewährte erste Verteidigungslinie.
In Go eignet sich die regex-basierte Validierung gut für grundlegende Prüfungen, zum Beispiel die Format-Erkennung für:
YYYY-MM-DD (ISO-Format)
DD/MM/YYYY (in Indien und Europa weit verbreitet)
MM-DD-YYYY (in den USA üblich)
In der Praxis können Datumsformate vielfältig sein. Neben Schrägstrichen und Bindestrichen begegnen Ihnen manchmal Punkte (z. B. 12.31.2024), Angaben ohne führende Nullen (1/2/2024 statt 01/02/2024) oder zweistellige Jahreszahlen (12/31/24). Diese Varianten treten besonders häufig auf, wenn Nutzer Daten aus verschiedenen Quellen einfügen oder wenn Daten aus internationalen Systemen stammen.
Um ein wirklich robustes regex-Muster zu erstellen, sollten Sie diese regionalen Besonderheiten berücksichtigen: Bindestriche, Schrägstriche, Punkte, einstellige Tages- und Monatsangaben sowie zwei- und vierstellige Jahreszahlen.
Die Grundbausteine von Regex
Um Datumsangaben (oder beliebige Strings) mit regex zu validieren, sollten Sie die wichtigsten Bausteine kennen:
A-Z: Großbuchstabena-z: Kleinbuchstaben0-9: Ziffern\.: ein wörtlicher Punkt+: ein oder mehrere des Vorherigen*: null oder mehrere des Vorherigen?: optional (null oder ein Vorkommen)^: Anfang des Strings$: Ende des Strings
Ein regulärer Ausdruck (regex) ist im Wesentlichen ein Suchmuster, das aus diesen Elementen aufgebaut wird. Metazeichen wie ^ und $ verankern den Treffer am Anfang oder Ende eines Strings, während Quantoren wie + und {n} bestimmen, wie oft ein Zeichen oder eine Gruppe erscheinen muss.
Datum-Regex-Muster
ISO-Format (YYYY-MM-DD)
^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$Treffer: 2024-12-31
Abgelehnt: 2024-13-01, 2024-02-30
Dies ist das Standardformat, das in den meisten APIs und Datenbanken verwendet wird. Es stellt sicher, dass das Jahr vier Stellen hat, der Monat zwischen 01 und 12 liegt und der Tag für seinen Monat gültig ist.
DD/MM/YYYY-Format
^(0[1-9]|[12]\d|3[01])/(0[1-9]|1[0-2])/\d{4}$Treffer: 31/12/2024
Abgelehnt: 00/00/2024, 32/01/2024
Dieses Format ist in Indien und weiten Teilen Europas verbreitet. Das Muster erwartet führende Nullen und verwendet einen Schrägstrich als Trennzeichen.
MM-DD-YYYY-Format
^(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])-\d{4}$Treffer: 12-31-2024
Abgelehnt: 13-01-2024, 00-15-2022
In den USA weit verbreitet. Das Muster verwendet einen Bindestrich als Trennzeichen und erwartet zwei Stellen für Monat und Tag.
Aufbau eines regex-Musters für MM/DD/YYYY
Für ein MM/DD/YYYY-Muster gehen Sie so vor:
Zweistelliger Monat:
(0[1-9]|1[0-2])stellt sicher, dass der Monat zwischen 01 und 12 liegt.Trennzeichen: Verwenden Sie
[/-]für Schrägstrich oder Bindestrich.Zweistelliger Tag:
(0[1-9]|[12]\d|3[01])deckt 01 bis 31 ab.Weiteres Trennzeichen: Erneut
[/-].Vierstelliges Jahr:
\d{4}für das Jahr.
Das vollständige Muster:
^(0[1-9]|1[0-2])[/-](0[1-9]|[12]\d|3[01])[/-]\d{4}$Treffer: 12/31/2024, 01-01-2023
Abgelehnt: 00/10/2024, 13/28/2024, 11-31-2024
Unterstützung weiterer gängiger Varianten
Datumsangaben kommen in vielen Formen vor. Trennzeichen können variieren: Bindestriche (-), Schrägstriche (/) oder Punkte (.). Bestimmte Regionen oder Legacy-Systeme akzeptieren Datumsangaben ohne führende Nullen (z. B. 7/5/24) oder mit zweistelligen Jahreszahlen (05/12/99). Für solche Fälle eignet sich folgendes Muster:
^\d{1,2}[/.-]\d{1,2}[/.-]\d{2,4}$Erlaubt ein- oder zweistellige Tages- und Monatsangaben
Akzeptiert
/,-oder.als TrennzeichenUnterstützt zwei- und vierstellige Jahreszahlen
Datumsvalidierung mit regex in Go
Das folgende Go-Programm prüft, ob ein Datumsstring dem ISO-Format (YYYY-MM-DD) entspricht:
package mainimport ( "fmt" "regexp" )
func isValidDate(date string) bool { // Regex für YYYY-MM-DD pattern :=
^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$regex := regexp.MustCompile(pattern) return regex.MatchString(date) }
func main() { dates := []string{"2025-01-30", "2025-13-01", "2024-02-30"} for _, date := range dates { fmt.Printf("Is '%s' valid? %t\n", date, isValidDate(date)) } }
Anwendungsfälle der Datumsvalidierung mit regex
Formulareingabe-Validierung: Prüfen Sie, ob Benutzer ihr Geburtsdatum oder einen Termin im richtigen Format eingegeben haben.
Datenbereinigung: Fehlerhafte Datumsangaben in großen CSV- oder JSON-Datensätzen identifizieren und entfernen.
Sicherheit: Datum-Injection oder fehlerhafte String-Exploits in APIs und Benutzerformularen verhindern.
Log-Filterung: Log-Einträge mit Datumsstrings analysieren.
Profi-Tipps
Verwenden Sie regex für die Format-Validierung, prüfen Sie jedoch zusätzlich, ob das Datum tatsächlich existiert (z. B. ist der 30. Februar ungültig).
Für Zeitstempel erweitern Sie das regex-Muster (z. B.
^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$).Testen Sie regex-Muster mit dem Go-Regex-Tester, bevor Sie sie in der Produktion einsetzen.
Für Massenvalidierung kombinieren Sie dieses Tool mit einem CSV-Cleaner oder JSON-Validator.
Tipps zur regex-Effizienz
Vermeiden Sie unnötige Zeichenklassen-Bereiche, halten Sie Muster schlank und gezielt.
Verwenden Sie nicht-erfassende Gruppen (
(?:...)), wenn Klammern nur zur Gruppierung dienen.Nutzen Sie possessive Quantoren oder atomare Gruppen, um unnötiges Backtracking zu verhindern.
Häufige Fallstricke
Fehlende führende Nullen bei Monaten oder Tagen erlauben.
Den Wertebereich für Monate und Tage nicht einzuschränken, sodass ungültige Werte akzeptiert werden.
Dass regex keine logisch unmöglichen Daten erkennt, zum Beispiel schlüpft der 30. Februar durch, sofern keine zusätzliche Prüfung erfolgt.
Datumsvalidierung in verschiedenen Programmiersprachen
JavaScript: Verwenden Sie die
.test()-Methode desRegExp-Objekts:const datePattern = /^\d{4}-\d{2}-\d{2}$/; const isValid = datePattern.test("2024-01-28");Python: Verwenden Sie das
re-Modul mitre.fullmatch():import re pattern = r"\d{2}/\d{2}/\d{4}" is_valid = re.fullmatch(pattern, "28/01/2024") is not NoneGo: Verwenden Sie
regexp.MatchString():import "regexp" matched, _ := regexp.MatchString(^\d{2}-\d{2}-\d{4}$, "28-01-2024")Java: Verwenden Sie
PatternundMatcher:Pattern pattern = Pattern.compile("\d{2}/\d{2}/\d{4}"); Matcher matcher = pattern.matcher("28/01/2024"); boolean isValid = matcher.matches();
Regex für Performance und Lesbarkeit optimieren
So einfach wie möglich halten: Wählen Sie das kürzeste Muster, das die Aufgabe erfüllt. Vermeiden Sie es, alle Randfälle in einem einzigen riesigen regex abzubilden.
Nicht-erfassende Gruppen bevorzugen: Verwenden Sie
(?:...)für strukturelle Gruppierungen.Backtracking vermeiden: Verwenden Sie Quantoren wie
+,*oder{n,m}gezielt.Testen und messen: Verwenden Sie Tools wie https://regex101.com/ oder den Go-Regex-Tester, um Engpässe zu erkennen.
Balance zwischen Strenge und Flexibilität: Entscheiden Sie frühzeitig, wie permissiv Ihr Muster sein soll.
Diese Tools kombinieren
E-Mail-Regex-Go-Validator - E-Mails zusammen mit Geburtsdaten validieren
Telefonnummer-Regex-Go-Validator - Zahlenfelder prüfen
URL-Regex-Go-Validator - Datumsbezogene Endpoints validieren
Passwort-Regex-Go-Validator - Formularsicherheit prüfen
Go-Regex-Tester - Mit mehreren Mustern experimentieren
Frequently Asked Questions
Prüft dieser Validator, ob das Datum real ist (z. B. 29. Feb. in Schaltjahren)?
Kann dieser Validator für Zeitstempel verwendet werden?
Kann er zukünftige oder vergangene Daten prüfen?
Unterstützt dies mehrere Formate gleichzeitig?
Sollte ich regex oder Datum-Parser verwenden?
Related Articles



Testen Sie Ihre APIs noch heute!
Schreiben Sie auf Deutsch, Qodex verwandelt es in sichere, sofort ausführbare Tests.



