我试图为HH实现正则表达式:MM:SS,例如:
07:15:30
但我无法让它发挥作用
现在我正在使用:
([01]?[0-9]|2[0-3]):[0-5][0-9]
有任何线索吗?
答案 0 :(得分:19)
^(?:([01]?\d|2[0-3]):([0-5]?\d):)?([0-5]?\d)$
<强>解释强>
^ # Start of string
(?: # Try to match
([01]?\d|2[0-3]): # HH:
([0-5]?\d): # MM:
)? # (entire group)
([0-5]?\d) # SS
$ # End of string
使用了正则表达式备忘单中的一些表达式:
http://www.cheatography.com/davechild/cheat-sheets/regular-expressions/
编辑#1
^(?:([01]?\d|2[0-3]):([0-5]?\d):)?([0-5]\d)$
删除了?
上的SS
,如果只输入1位数字,则会返回false。
编辑#2
^([0-5]\d):([0-5]\d):([0-5]\d)$
稍微更改了HH
部分,如果用户只选择HH
而没有MM
和SS
,则会返回false。
编辑#3
感谢此comment此表达式添加到此列表
^((?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$)