请问一个正则,匹配小时:分钟这个格式,例如:08:40
如题。我自己写的
/^[0-23]{2}:[0-59]{2}$/
能匹配到 01:40 02:40 03:40 但是匹配不到 04:40,我就奇怪了,请高手解惑,谢谢。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
如题。我自己写的
/^[0-23]{2}:[0-59]{2}$/
能匹配到 01:40 02:40 03:40 但是匹配不到 04:40,我就奇怪了,请高手解惑,谢谢。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
嘿嘿,我已经搞定了,正确的正则如下:
或
点击查看
[0-23]并不是你认为的那种匹配(0-23的数字) 正则中能使用-来表示区间的范围只有[0-9]
用这个正则试试
/^(20|21|22|23|[0-1]\d):[0-5]\d$/
正则是按字符匹配的而不是按数值。表达式
[0-23]
匹配的是一个0-2之间的字符或者一个字符3, 与[0-3]
效果是一样的。[0-23]{2}
只能匹配以下字符串00
,01
,02
,03
,10
,11
,12
,12
,20
,21
,22
,23
,30
,31
,32
,33
[0-59]
同理。正确的写法应该是
/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/