Znalazłem wyrażenie regularne dla MM/DD/RRRR na http://www.regular-expressions.info/regexbuddy/datemmddyyyy.html, ale nie sądzę, że używam go poprawnie.Co to jest wyrażenie regularne MM/DD/RRRR i jak używać go w php?
Oto mój kod:
$date_regex = '(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d';
$test_date = '03/22/2010';
if(preg_match($date_regex, $test_date)) {
echo 'this date is formatted correctly';
} else {
echo 'this date is not formatted correctly';
}
Kiedy uruchamiam to, że wciąż powtarza „data ta nie jest poprawnie sformatowana”, kiedy należy powiedzieć coś przeciwnego. Jak ustawić to wyrażenie regularne w php?
daje również 'w arning: preg_match(): Nieznany modyfikator "[" –
Istnieje mnóstwo poprawnych odpowiedzi poniżej, ale jedną rzeczą, o której nie wspomniałem, jest to, że ten wzór nie wydobywa prawidłowo roku ... tylko stulecia. Musiałbyś zmienić go na '/ (0 [1-9] | 1 [012]) [- /.](0[1-9]|[12][0-9]|3[01]) [- /.] (19 | 20 \ d \ d)/'. –
@fiXedd: Wygląda na to, że nie próbuje niczego wydobyć ... –