I want to validate a time input (like 10:30 am, 02:30 pm) using preg_match()
I use this,
$pattern = \"/([1-12]):([0-5])([0-9])( )(a
You can validate all your date/time strings with DateTime::createFromFormat:
function isTimeValid($time) {
return is_object(DateTime::createFromFormat('h:i a', $time));
}
foreach (['12:30 am', '13:30 am', '00:00 pm', '00:00 am', '12:30am', '15:50pm'] as $time) {
echo "Time '$time' is " . (isTimeValid($time) ? "" : "not ") . "valid.\n";
}
Time '12:30 am' is valid.
Time '13:30 am' is not valid.
Time '00:00 pm' is valid.
Time '00:00 am' is valid.
Time '12:30am' is valid.
Time '15:50pm' is not valid.