审核Time validation question by Amra
后我已经为我的需求创建了一个正则表达式
var re = / ^ \ s *([01]?\ d | 1 [0-2]):?([00,30] \ d)\ s * $ /;
我的意图是只允许小时和半小时的间隔时间
即:“12:00”,“01:00”,“12:30”,“01:30”等
这个正则表达式几乎可以正常工作,它在“01:10”时返回false但是当我输入“01:01”时返回值....“01.09”,它必须是假的。
请帮帮我
请详细描述这个正则表达式。
答案 0 :(得分:1)
[00,30]
没有按照您的想法行事。正则表达式中的[]
个组是字符类 - 可以匹配的字符集,例如[a-z]
匹配单个小写字母,而不是字符串“az”。
请改为尝试:
var re = /^\s*(0?\d|1[0-2]):?(00|30)\s*$/;
(00|30)
匹配00
或30
,其他任何内容 - |
都是正则表达式“或”运算符。
答案 1 :(得分:0)
如果您想允许24小时的时间,可以将Amber的答案稍微更改为:
/^\s*([0-1]?\d|2[0-3]):?(00|30)\s*$/