我们可以覆盖html5输入类型URL或电子邮件中内置的默认验证

时间:2017-01-07 13:25:45

标签: html html5 validation

在带有输入类型url的html5中,有效URL的默认规则是什么?如果我们还在类型旁边指定自定义模式属性,它是否会覆盖默认的验证规则?例如在下一行中,将pattern属性ovrerride设为默认规则吗?

<input type="url" name="website" pattern="https?://.+" title="Include http://">

1 个答案:

答案 0 :(得分:2)

Per the requirements in the HTML spec,是的,input值确实取代了元素输入类型的默认验证要求:

  

如果pattern元素指定了multiple属性,并且属性的值被编译为只指定了“u”标志的JavaScript正则表达式,则编译成功,然后生成正则表达式是元素的编译模式正则表达式

     

约束验证:如果元素的值不是空字符串,并且未指定元素的type属性,或者它不适用于给定{{1}的输入元素属性的当前状态,并且元素具有已编译的模式正则表达式,但该正则表达式与元素的值的整体不匹配,则该元素遇到模​​式不匹配。

在浏览器中试用您的代码段:例如,如果您在该控件中输入ftp://foo,浏览器会向您显示一条消息,说明“匹配请求的格式:包含http:// ”。