Regular expression for matching time in military (24 hour) format
This should do it:
^([01]\d|2[0-3]):?([0-5]\d)$
The expression reads:
^ Start of string (anchor)
( begin capturing group
[01] a "0" or "1"
\d any digit
| or
2[0-3] "2" followed by a character between 0 and 3 inclusive
) end capturing group
:? optional colon
( start capturing
[0-5] character between 0 and 5
\d digit
) end group
$ end of string anchor
/(00|01|02|03|04|05|06|07|08|09|10|11|12|13|14|15|16|17|18|19|20|21|22|23):?(0|1|2|3|4|5)\d/
:)