正则表达式只有几小时或几小时和几分钟

时间:2012-06-27 12:16:22

标签: c# java javascript .net

我正在使用正则表达式^(([0-9])|([0-1][0-9])|([2][0-3])):(([0-9])|([0-5][0-9]))$。这是非常好的正则表达式但是当用户想要输入像8或12这样没有冒号和分钟的小时时它是不允许的。 任何人都可以建议哪些正则表达式只适合小时或小时:分钟。

2 个答案:

答案 0 :(得分:3)

^(([0-9])|([0-1][0-9])|([2][0-3]))(:(([0-9])|([0-5][0-9])))?$

将“:mm”部分置于()并添加?量词,使其成为可选部分。

答案 1 :(得分:1)

只需将最后一部分设为可选,如下所示:

 ^(([0-9])|([0-1][0-9])|([2][0-3]))(:(([0-9])|([0-5][0-9])))?$