Для тех, кто ищет 24-часовой формат соответствия,
чч: мм: сс или ч: мм: сс:
status = /^(2[0-3]|[0-1]?[\d]):[0-5][\d]:[0-5][\d]$/.test(timestr)
чч: мм или ч: мм:
status = /^(2[0-3]|[0-1]?[\d]):[0-5][\d]$/.test(timestr)
Этот сайт отлично подходит для тестирования: https://www.regexpal.com/
Добавлено: Объяснение для полноты:
^
: начало строки, $
: конец строки. Таким образом, мы помещаем выражение в блок ^..$
, чтобы убедиться, что нет ничего вне нашего шаблона.
(2[0-3]|[0-1]?[\d])
: переводится как 2[0-3]
ИЛИ [0-1]?[\d]
2[0-3]
: 20, 21, 22, 23
[0-1]?[\d]
: 0 или 1 или ничего (?
), за которым следует любая одна цифра (\d
). Таким образом, это работает для чисел от 0 до 19.
:
только этот символ
[0-5][\d]
: число от 00 до 59. Примечание: не допускается использование одной цифры в мм.