想要在HTML 5(HH:MM)中查询24小时时间格式的可能正则表达式。
如果可能,请告诉可以在HTML 5的Pattern属性中使用的正则表达式
预计时间为24小时格式(HH不超过23)。
亲切的问候,
答案 0 :(得分:18)
我认为这是一种可行的方法:
<input type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]" id="24h"/>
<input type="text" pattern="([01]?[0-9]{1}|2[0-3]{1}):[0-5]{1}[0-9]{1}" id="24h"/>
([01]?[0-9]|2[0-3]):[0-5][0-9]
查看这个jsfiddle:example
答案 1 :(得分:15)
以下是代码:
<input type="text" pattern="[0-2]{1}[0-9]{1}:[0-5]{1}[0-9]{1}" />
它确实允许无效的小时值:24,25,26,27,28,29,如果你想要更加正确,你可以这样做:
<input type="text" pattern="([0-1]{1}[0-9]{1}|20|21|22|23):[0-5]{1}[0-9]{1}" />
答案 2 :(得分:1)
一点点正则表达式:
(?:[01]|2(?![4-9])){1}\d{1}:[0-5]{1}\d{1}
所以完整:
<input type="text" pattern="(?:[01]|2(?![4-9])){1}\d{1}:[0-5]{1}\d{1}" />
在第一个非捕获组(&#34;(?:)&#34;)中,我们只匹配一个数字,0,1或2后面没有4-9(负向前瞻&#34;( ?!)&#34;)。然后我再匹配一个数字,因为它可以是0-9中的任何一个,我们可以使用\ d快捷方式。然后我们匹配分隔符&#34;:&#34;。然后在0-5之间的一个数字和0-9之间的一个数字(再次与&#34; \ d&#34;)。 如果由于某种原因你需要24小时匹配(有时你也会),那么只需调整负向前瞻,e。 G。 &#34;(?![5-9])&#34;
答案 3 :(得分:1)
如果您要强制采用 HH:MM 格式(例如00:00、23:59)
然后,您可以使用以下内容:
/^([0-1]\d|20|21|22|23):[0-5]\d$/