如何验证特定格式的电话号码?

问题描述:

我的数字看起来像(###)### - ####如何验证特定格式的电话号码?

不存在与下一个数字 之间有一个空格)或我的电话号码可以像(###)# ## - ####分机####分机的后

空间和)​​

有人能告诉我需要进行核实,如果任何一个是有效的什么正则表达式。请注意,如果分机存在,分机号码必须为4位数字。

我发现这个表达式表达在网络上

Regex.Match(number, @"^(\+[0-9]{9})$").Success 

可惜我不是在正则表达式很好地理解或修改

+0

“\( [0-9] {3} \)[0-9] {3} - [0-9] {4}(ext [0-9] {4})?“可以缩短,但在某些方面它很容易阅读 – BugFinder

+0

谷歌libphonenumber:http://code.google.com/p/libphonenumber/ – Maarten

+2

不知道为什么这是关闭作为一个骗局。假设的欺骗要广泛得多,而且这是一个非常狭窄的模式要求,实际上它甚至不是所假设的欺骗的OP规定的模式之一。这不是一个关于“你如何验证任何*电话号码模式”的问题,因为它是“你如何验证这个确切的一系列字符,顺便说一下,它恰好是电话号码的一个例子” 。 @戳 –

这个怎么样模式:

@"^\(\d{3}\) \d{3}-\d{4}(ext \d{4}){0,1}$"