我正在尝试使用PHP正则表达式验证24小时的时间HH:MM
。我发现了很多关于它的问题,比如:
但是所有这些都无法使3位数小时失效,例如111:00
(在线测试人员说他们匹配,这是因为正则表达式不考虑第三位数字的存在)。这是一个例子:https://www.regex101.com/r/cO9aE7/1
如何更正这些以使此案无效?
答案 0 :(得分:1)
这个正则表达式将匹配一个24小时的样式时间,只要它是字符串中唯一的东西:
^([01]\d|2[0-3]):[0-5]\d$
或者,这个将匹配字符串中任何地方的24小时时间:
\b([01]\d|2[0-3]):[0-5]\d\b
答案 1 :(得分:0)
^(2[0-3]|1[0-9]|0[0-9]|[^0-9][0-9]):([0-5][0-9])$