Я разрешаю пользователям выбирать час с 00:00:00
до 23:00:00
и вам нужно проверить, соответствуют ли они правильный формат. Существует ли регулярное выражение или функция php, которая проверяет 24-часовой формат, например HH:MM:SS
?
Я нашел несколько примеров регулярных выражений, но 24-часовое время, которое я проверяю, всегда установлено на 00
минут и секунд. Только час меняется.
Например
18:00:00, 23:00:00, 01:00:00
Это соответствует 24-часовому времени, включая секунды
([01]?[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]
Если вы хотите только 00 минут и секунд, то
([01]?[0-9]|2[0-3]):00:00
Здесь его готовый образец готов к использованию.
$myTime = '23:00:00'; $time = preg_match('#^([01]?[0-9]|2[0-3]):[0-5][0-9](:[0-5][0-9])?$#', $myTime); if ( $time == 1 ) { // make a error! } else { // make a error! }
Попробуй это
$time="23:00:00"; preg_match('#^([01]?[0-9]|2[0-3]):[0-5][0-9](:[0-5][0-9])?$#', $time);
Это RegEx? Вы можете легко использовать PHP strtotime strtotime
для проверки дат и времени (также работает без даты). strtotime
возвращает false
( -1
до PHP 5.1), если данное время недействительно. Поэтому не забудьте использовать операнд ===
!
if (strtotime("12:13") === false) { echo("Wrong Time!"); } // Echos nothing if (strtotime("19:45") === false) { echo("Wrong Time!"); } // Echos nothing if (strtotime("17:62") === false) { echo("Wrong Time!"); } // Echos 'Wrong Time!'