Erstellen den regulären Datumsausdruck MM/DD/YYYY in PHP
Dieses Tutorial zeigt, wie Sie in PHP einen regulären Ausdruck für das Datumsformat mm/dd/yyyy
erstellen.
Erstellen Sie den regulären Datumsausdruck MM/DD/YY
in PHP
Wir können den regulären Ausdruck verwenden, um die Benutzereingabe gemäß den im Ausdruck angewendeten Regeln zu validieren. Wir können alle Eingaben mit dem regulären Ausdruck validieren, und wir können sogar das Datumsformat mm/dd/yyyy
mit dem regulären Ausdruck validieren.
Wir können einen regulären Ausdruck erstellen und in einer Variablen speichern. Wir verwenden die Funktion preg_match()
, um zufällige Eingaben im Datumsformat mit dem regulären Ausdruck zu testen.
Ein Regex-Muster für das Datumsformat mm/dd/yyyy
ist unten abgebildet. Wir werden es ausführlich besprechen.
~(0[1-9]|1[012])[-/](0[1-9]|[12][0-9]|3[01])[-/](19|20)\d\d~
Ein Regex-Muster sollte immer ein korrektes Trennzeichen haben. Hier ist das Symbol ~
das Trennzeichen, das das Muster umgibt.
Als nächstes müssen wir das Format für die Monate in mm/dd/yyyy
schreiben.
Der Monat wird von 01-12
im Format dargestellt. So kann die erste Ziffer des Monats entweder 0
oder 1
sein, also schreiben wir 0[1-9]
für die Monate beginnend mit 01-09
. Die 1-9
innerhalb der Klammer bezeichnet die Zahl, die hinter 0
steht.
Ebenso können wir für den Monat nur 10
, 11
und 12
schreiben, beginnend mit 1
. Deshalb haben wir 012
innerhalb der Klammern für 1
als 1[012]
geschrieben.
Wir verwenden das |
Symbol um ein logisches ODER
zu erreichen. Also verwenden wir es, um die Regeln als (0[1-9]|1[012])
zu trennen.
Schließlich schließen wir das Muster in Klammern ein, um das Ende eines Abschnitts anzuzeigen.
Als nächstes müssen wir die Regel für die Trennzeichen im Format mm/dd/yyyy
setzen. Das obige Muster erlaubt die Trennzeichen der Symbole -
, /
und .
.
Jetzt schreiben wir das Muster tagelang. Tage sind 1-30
, also können die Tage 01-09
als 0[1-9]
geschrieben werden, 10-29
können als 12[0-9]
geschrieben werden und die Tage 30-31
kann als 3[01]
geschrieben werden.
Dieselbe Regel verwenden wir für Trennzeichen nach den Tagen im Format mm/dd/yyyy
.
Wir haben 19|20
als die ersten beiden Ziffern für das Jahr geschrieben, d.h. das Jahr kann nur mit 19
und 20
beginnen. Wir haben das Muster \d\d
nach 19|20
verwendet, um zwei beliebige Ziffern nach 19
oder 20
zu bezeichnen.
So funktioniert der obige reguläre Ausdruck. Wir können jetzt einige Testdatumsformate mit dem obigen regulären Ausdruck überprüfen.
Erstellen Sie dazu eine Variable $reg
und speichern Sie die oben geschriebene Regex darin. Als nächstes erstellen Sie ein Array $dates
und speichern diese zufälligen Datumsformate.
['03/22/2021', '22/22/2021', '03\22\2021', '03-22-2021', '03/22/1865']
Verwenden Sie dann die foreach
-Schleife, um die Variable $dates
als $date
zu durchlaufen. Vergleichen Sie die Variable $date
mit der Variable $reg
mit der Funktion preg_match()
.
Auf diese Weise können wir überprüfen, ob die Testeingaben dem Regex-Muster des Formats mm/dd/yyyy
entsprechen.
Beispielcode:
$reg = '~(0[1-9]|1[012])[-/](0[1-9]|[12][0-9]|3[01])[-/](19|20)\d\d~';
$dates =['03/22/2021', '22/22/2021', '03\22\2021', '03-22-2021', '03/22/1865'] ;
foreach($dates as $date){
if(!preg_match($reg, $date)) {
echo 'the date format '.$date.' is incorrect'."<br>";
} else{
echo 'the date format '.$date.' is correct'."<br>";
}
}
Ausgabe:
the date format 03/22/2021 is correct
the date format 22/22/2021 is incorrect
the date format 03\22\2021 is incorrect
the date format 03-22-2021 is correct
the date format 03/22/1865 is incorrect
Hier folgt das erste Format allen Regeln. Das zweite Format ist falsch, da der Monat nicht 22
sein darf.
Das dritte ist falsch, weil wir das Trennzeichen \
nicht angegeben haben. Wir haben das Trennzeichen -
angegeben, damit das vierte Datum korrekt ist. Das Jahr ist das 1800
im letzten Jahr, also ist es falsch.
Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.
LinkedInVerwandter Artikel - PHP Date
- Wie man Tage zum Datum in PHP hinzufügt
- Wie man die Differenz zwischen zwei Daten mit PHP berechnet
- Wie man DateTime in PHP in Strings konvertiert
- Wie konvertiert man Strings in PHP in Datum und Uhrzeit
- Wie man in PHP ein Datumsformat in ein anderes konvertiert
- Wie Sie das aktuelle Datum und die Uhrzeit in PHP erhalten