我有一个HTML5模式,适用于以下格式的电话号码:
111-222-3333
111 222 3333
(777)-888-9999
(777)888-9999
但是如果用户输入
(777-999-9999
通过验证。理想情况下,我希望这会抛出一个错误,因为括号显然没有关闭。这是我的模式:
pattern="^\(?\d{3}\)?[- ]?\d{3}[- ]?\d{4}$"
关于我做错的任何想法?在这个问题上,我一直在墙上撞了好几个小时。谢谢!
答案 0 :(得分:13)
两个括号的可选性彼此独立。使用替换:
pattern="(?:\(\d{3}\)|\d{3})[- ]?\d{3}[- ]?\d{4}"