可能重复:
用于电话号码验证的全面正则表达式
我非常接近需要的完整正则表达式。但是我似乎无法获得允许的可选空白。
正则表达式
^(\(?\d{3}\)?\-?\d{3}\-?\d{4})$
Run Code Online (Sandbox Code Playgroud)
要求-仅这四个
111-111-1111-工程
(111)111-1111-作品
(111)111-111-无法捕获
1111111111-工程
如何在括号后面添加可选空格?
^(\(?\d{3}\)*\s?\-?\d{3}\-?\d{4})$
Run Code Online (Sandbox Code Playgroud)
* \ s表示0或1个空格字符。
编辑: 实际上,我更喜欢此版本,因为它允许破折号或空格,但不能同时使用两者。还有,表示0或1,*表示0或更大:
^(\(?\d{3}\)?[\s,\-]?\d{3}\-?\d{4})$
Run Code Online (Sandbox Code Playgroud)