Подтвердить что ты не робот

24-часовое регулярное выражение для HTML 5

Требуется узнать о возможном выражении регулярного выражения для 24-часового формата времени в HTML 5 (HH: MM).

, если возможно, сообщите регулярному выражению, которое можно использовать в атрибуте Pattern HTML 5

Ожидается, что время будет в 24-часовом формате (HH не более 23).

С уважением,

4b9b3361

Ответ 2

Вот код:

<input type="text" pattern="[0-2]{1}[0-9]{1}:[0-5]{1}[0-9]{1}" />

он допускает недопустимые значения часов: 24,25,26,27,28,29, если вы хотите быть более правильным, вы можете сделать это следующим образом:

<input type="text" pattern="([0-1]{1}[0-9]{1}|20|21|22|23):[0-5]{1}[0-9]{1}" />

Ответ 3

Немного более короткое регулярное выражение:

(?:[01]|2(?![4-9])){1}\d{1}:[0-5]{1}\d{1}

Итак, в полном объеме:

<input type="text" pattern="(?:[01]|2(?![4-9])){1}\d{1}:[0-5]{1}\d{1}" />

В первой группе, не связанной с захватом ( "(?:)" ), мы сопоставляем ровно одну цифру, либо 0, 1 или 2, а не 4-9 (отрицательный просмотр) (?!) "). Тогда мне соответствует еще одна цифра, так как это может быть любой из 0-9, мы можем пойти с \d ярлыком. Затем мы сопоставляем разделитель": ". Затем одна цифра между 0-5 и еще одна между 0-9 (опять же с" \ d"). Если по какой-то причине вам нужно также соответствовать 24 часам (иногда вы это делаете), тогда просто настройте отрицательный результат, например. г. "(?! [5-9])".