我想检查一个字段是否是一个有效的时间值(只是几秒).所以我想接受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)
但这不起作用,并产生太多递归调用的错误.
任何的想法?
在你的第二个正则表达式中,你需要?从第一部分中删除它,[1-5]而不是[0-5]:
[0-9]|[1-5][0-9]
Run Code Online (Sandbox Code Playgroud)
如果你想有足够的灵活性,允许双方7和07,然后使用[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)