javascript正则表达式为00-59(秒)之间的数字

Seg*_*las 3 javascript regex

我想检查一个字段是否是一个有效的时间值(只是几秒).所以我想接受0到59之间的数字.我出来了:

[0-5][0-9]?
Run Code Online (Sandbox Code Playgroud)

几乎完成了这项工作.但排除数字7-8-9 ...如果用户数字07,它可以工作,但我不想强迫用户数字前0.这样我尝试这样的事情:

([0-5][0-9]? | [0-9]) 
Run Code Online (Sandbox Code Playgroud)

但这不起作用,并产生太多递归调用的错误.

任何的想法?

Roh*_*ain 6

在你的第二个正则表达式中,你需要?从第一部分中删除它,[1-5]而不是[0-5]:

[0-9]|[1-5][0-9]
Run Code Online (Sandbox Code Playgroud)

如果你想有足够的灵活性,允许双方707,然后使用[0-5]:

[0-9]|[0-5][0-9]  
Run Code Online (Sandbox Code Playgroud)

然后,简化上面的正则表达式,你可以使用:

[0-5]?[0-9]   // ? makes [0-5] part optional
Run Code Online (Sandbox Code Playgroud)