为什么这种输入模式不起作用?

时间:2017-11-26 22:53:27

标签: html5

我正在使用html5输入模式属性来检查HH:MM AM或HH:MM PM格式的时间。 inout控件的编码如下:

<input class="form-control input-sm" id="ConcertTime" name="ConcertStartTime" type="text" pattern="^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]\040(AM|am|PM|pm)$" title="hh:mm AM/PM" required placeholder="hh:mm AM/PM">

在输入与模式不匹配的内容并单击“提交”按钮后,不会标记任何错误。其他验证属性(例如此输入中的“必需”)已正确处理。

我在各种正则表达式测试程序中尝试了正则表达式,并成功检测到有效和无效的时间格式。

这是在Chrome 62.0.3202.94

2 个答案:

答案 0 :(得分:0)

没关系。 js控制台显示html与正则表达式中的\ 040不一样,认为它是无效序列。用空格字符替换它,现在一切正常。

答案 1 :(得分:0)

请试试这个

<input type="time" name="time" />