HTML5 - Pattern属性不能在input元素中使用

Yur*_*ura 3 html forms validation html5 input

我目前有一个电话号码的输入元素,并试图使用模式属性,但它拒绝这样做.它说"验证(HTML5):模式不是元素输入的有效属性"!当我将类型更改为"text"时,它表示pattern属性仅在标题存在时才有效!

<input type="number" class="form-control"data-require="" id="Mobile" placeholder="Mobile No" autocomplete="off" pattern="[\+]\d{3}d{9}" required>
Run Code Online (Sandbox Code Playgroud)

更新:

我添加了title属性,它现在正在工作!但我唯一的问题是,当我点击提交时,即使格式不匹配,也会提交表单.

Seb*_*sch 5

<input>应是没有有效的title属性(验证上https://validator.nu/):

<!DOCTYPE html>
<html>
  <head>
    <title>Test</title>
  </head>
  <body>
    <input type="text" class="form-control" data-require="" id="Mobile" placeholder="Mobile No" autocomplete="off" pattern="[\+]\d{3}d{9}" required>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

其他变化:

  • 属性前缺少空格data-require.
  • pattern属性只允许以下类型:email,password,search,tel,text,或url.

你的正则表达式([\+]\d{3}d{9})也是无效的.您可以尝试以下规则之一:

  • [\+]\d{3}\d{9}
  • [\+]\d{12}

你错过了\第二个d只匹配数字.第二种模式是第一种模式的缩小版本.