Jos*_*han 2 html regex validation html-input phone-number
我如何验证这样的模式......
(562) 810-5566 或 (714) 433-4434
请注意,它将包含括号和空格。
我当前的输入控件如下所示:
<input type="tel" data-tel-msg="Invalid Phone Number!" class="k-textbox" pattern="^\d{3}-\d{3}-\d{4}$" required />
Run Code Online (Sandbox Code Playgroud)
我知道当前模式匹配 3334445555,但这不是我正在寻找的,当我尝试添加括号时,JavaScript 控制台只是给出了错误正则表达式语法错误。
另外,如果您知道如何让它显示自定义错误消息,这也会有所帮助。目前我的 data-tel-msg 无法正常工作。
您可以使用以下代码:
input:valid {
color: green;
}
input:invalid {
color: red;
}Run Code Online (Sandbox Code Playgroud)
<form name="form1">
<input value="(555) 324-5643" type="tel" title="Invalid Phone Number!" class="k-textbox" pattern="[(][0-9]{3}[)] [0-9]{3}-[0-9]{4}" required />
<input type="Submit"/>
</form>Run Code Online (Sandbox Code Playgroud)
正则表达式\(\d{3}\)\s\d{3}-\d{4}匹配字符串的格式(###) ###-####,因为默认情况下 HTML5 模式是锚定的(到字符串的开头和结尾)。
该title属性允许显示错误文本。
如果反斜杠在您的环境中丢失,只需将它们加倍,或替换\d为[0-9]。要匹配文字,\(您还可以使用字符类:([(]与):相同[)])。在字符类中,这些(并)失去了它们的“特殊”分组含义。