Как работает шаблон
| Часть | Значение |
|---|---|
(?:[01]\d|2[0-3]) | Часы 00–23 |
: | Двоеточие |
[0-5]\d | Минуты 00–59 |
(?::[0-5]\d)? | Необязательные секунды |
Примеры кода
JavaScript
const re = /^(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d)?$/;
re.test(value); // true or falsePython
import re
bool(re.fullmatch(r'(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d)?', value))PHP
preg_match('/^(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d)?$/', $value) === 1;
Примечания и ограничения
Сделайте ведущий ноль необязательным с помощью (?:[01]?\d|2[0-3]), если пользователи вводят 9:30.
Тестер регулярных выражений
Введите шаблон и смотрите, как совпадения подсвечиваются прямо в тестовом тексте.
Часто задаваемые вопросы
Каково регулярное выражение для времени (24 часа, ЧЧ:ММ)?
/^(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d)?$/ — совпадает со всей строкой. Что делает каждая часть, см. в таблице выше.
Какие примеры совпадают?
Из проверенных примеров совпадают: 00:00, 23:59, 14:30:15, 09:05. Остальные — нет.
Как протестировать это регулярное выражение?
Нажмите «Открыть в Regex Tester» — шаблон, флаги и образец текста загрузятся автоматически, а совпадения будут подсвечиваться по мере редактирования.