2016-02-27 1 views
1

Я хочу проверить формат времени на 12 часов (01:05 PM) в PHP, Javascript и HTML.Как проверить 12-часовое время с регулярным выражением (регулярное выражение)

Я попытался это:

((([1-9])|(1[0-2])):([0-5])(0|5)\s(A|P)M) 

Но я не знаю, почему он не работает.

+1

@ Gopal - вы уверены, что будете соответствовать часам с ведущий ноль (на ОП)? – RobG

ответ

2

попробовать это:

(((0 [1-9]) | (1 [0-2])): ([0-5]) (0 | 5) \ S (A | P) M)

тест регулярное выражение here

попробовать это для случая чувствительной AM | PM | ч | вечера : `

(((0 [1-9]) | (1 [0-2])): ([0-5]) (0 | 5) \ S (А | р | а | р) (М | М))

`

+0

Почему это не работает для этого 13:21 –

+0

Я имею в виду, мне нужны AM и PM. Не нужно учитывать регистр –

+1

@ A.MO - потому что это должно быть 01:20 или 01:25 (последняя группа должна быть '([0-5] [0-9])'. ;-) – RobG

1

Try,

^(1[0-2]|0?[1-9]):[0-5][0-9] (AM|PM)$ 

Вы можете проверить here

+0

Вы пробовали мой ответ? –

1

Это будет работать для обоих часов/я и PM/AM и с префиксом или без 0 (Ноль)

/^(0?[1-9]|1[012])(:[0-5]\d) [APap][mM]$/ 
Смежные вопросы