Im trying to to set up a php date validation (MM/DD/YYYY) but I’m having issues. Here is a sample of what I got:
$date_regex = '%A(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)ddz%'; $test_date = '03/22/2010'; if (preg_match($date_regex, $test_date,$_POST['birthday']) ==true) { $errors[] = 'user name most have no spaces';`
Advertisement
Answer
You could use checkdate. For example, something like this:
$test_date = '03/22/2010'; $test_arr = explode('/', $test_date); if (checkdate($test_arr[0], $test_arr[1], $test_arr[2])) { // valid date ... }
A more paranoid approach, that doesn’t blindly believe the input:
$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 ... }