我目前有一个电话号码的输入元素,并试图使用pattern属性,但它拒绝这样做。上面写着“验证(HTML5):模式不是元素输入的有效属性”!当我将类型更改为“text”时,它会说pattern属性只有在title存在时才有效!
<input type="number" class="form-control"data-require="" id="Mobile" placeholder="Mobile No" autocomplete="off" pattern="[\+]\d{3}d{9}" required>
更新:
我添加了title属性,现在可以工作了!但我唯一的问题是,当我单击Submit时,即使格式不匹配,它也会提交表单。
最佳答案
<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>
其他更改:
属性
data-require
之前缺少空格。pattern
属性只允许用于以下类型:email
、password
、search
、tel
、text
、url
或[\+]\d{3}d{9}
。正则表达式(
[\+]\d{3}\d{9}
)也无效。您可以尝试下列规则之一:[\+]\d{12}
\
您在第二个
d
之前缺少以仅匹配数字。第二个模式是第一个模式的缩小版本。