我试图建立一个PHP日期验证(MM / DD / YYYY),但我遇到了问题。这是我得到的样本:
$date_regex = '%\A(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d\z%'; $test_date = '03/22/2010'; if (preg_match($date_regex, $test_date,$_POST['birthday']) ==true) { $errors[] = 'user name most have no spaces';`
您可以使用checkdate。例如,如下所示:
$test_date = '03/22/2010'; $test_arr = explode('/', $test_date); if (checkdate($test_arr[0], $test_arr[1], $test_arr[2])) { // valid date ... }
一种更偏执的方法,不会盲目相信输入内容:
$test_date = '03/22/2010'; $test_arr = explode('/', $test_date); if (count($test_arr) == 3) { if (checkdate($test_arr[0], $test_arr[1], $test_arr[2])) { // valid date ... } else { // problem with dates ... } } else { // problem with input ... }