以时间格式验证正则表达式

时间:2014-07-22 08:59:32

标签: javascript regex validation

我有一个搜索字符串:

var searchString = "the times are 21:06 , 03-25 , 16:565";

然后我使用正则表达式来获取有效时间,

像这样:

var reg = /\d{2}[:-]\d{2}/gi

但当我alert(search.match(reg));输出时:

21:06,03-25,16:56

16:56不应该显示,因为在searchString 16:565 {{1}} 我坚持如何防止最后一个值被我的正则表达式捕获。

如何实现我想要的验证?

任何帮助将不胜感激。谢谢!

2 个答案:

答案 0 :(得分:2)

您需要在正则表达式中添加单词边界(\b):

var reg = /\b\d{2}[:-]\d{2}\b/gi;

答案 1 :(得分:2)

准确的时间匹配(24小时格式),

\b(?:0[1-9]|1[1-9]|2[0123])[:-](?:0[1-9]|[1-5][0-9]|00)\b

DEMO