Possible Duplicate:
A comprehensive regex for phone number validation
我非常接近需要的完整正则表达式。但是我似乎无法获得允许的可选空白。
正则表达式
^(\(?\d{3}\)?\-?\d{3}\-?\d{4})$
要求-仅这四个
111-111-1111-工程
(111)111-1111-作品
(111)111-111-无法捕获
1111111111-工程
如何在括号后面添加可选空格?
最佳答案
匹配\(?\b[0-9]{3}\)?[-. ]?[0-9]{3}[-. ]?[0-9]{4}\b
,3334445555
,333.444.5555
,333-444-5555
,333 444 5555
及其所有组合的(333) 444 5555
怎么样。
更新
您遇到了REGEX的局限性,因此丑陋的解决方案实际上是:
(\d{3}-\d{3}-\d{4}|\(\d{3}\)\s?\d{3}-\d{4}|\d{10})
Example