正则表达式 – 带括号的电话号码的HTML5模式

我有一个 HTML5模式,适用于以下格式的电话号码:
111-222-3333
111 222 3333
(777)-888-9999
(777)888-9999

但是如果用户输入

(777-999-9999

它通过验证.理想情况下,我希望这会抛出一个错误,因为括号显然没有关闭.这是我的模式:

pattern="^\(?\d{3}\)?[- ]?\d{3}[- ]?\d{4}$"

关于我做错的任何想法?我一直在这个墙上撞墙几个小时.谢谢!

两个括号的可选项彼此独立.使用替换:
pattern="(?:\(\d{3}\)|\d{3})[- ]?\d{3}[- ]?\d{4}"

相关文章

正则替换html代码中img标签的src值在开发富文本信息在移动端...
正则表达式
AWK是一种处理文本文件的语言,是一个强大的文件分析工具。它...
正则表达式是特殊的字符序列,利用事先定义好的特定字符以及...
Python界一名小学生,热心分享编程学习。
收集整理每周优质开发者内容,包括、、等方面。每周五定期发...