【发布时间】:2016-12-01 15:05:23
【问题描述】:
我的号码看起来像 (###) ###-####
) 和下一个数字之间有一个空格 或者我的号码可能看起来像 (###) ###-#### ext ####
分机和)后的空格
谁能告诉我需要执行什么正则表达式来验证其中一个是否有效。请注意,分机号必须为 4 位,如果有的话。
我在网上找到了这个正则表达式
Regex.Match(number, @"^(\+[0-9]{9})$").Success
不幸的是,我不太擅长 RegEx 来理解或修改它
【问题讨论】:
-
"([0-9]{3}) [0-9]{3}-[0-9]{4} (分机 [0-9]{4})?"可以缩短,但在某些方面它易于阅读
-
Google libphonenumber: code.google.com/p/libphonenumber
-
不知道为什么这是一个骗局。假定的欺骗要广泛得多,这是一个非常狭窄的模式要求,实际上甚至不是假定的欺骗的 OP 指定的模式之一。这不是关于“你如何验证 any 电话号码模式”的问题,因为它是“你如何验证这一系列确切的字符,哦,顺便说一下,恰好是一个例子的电话号码”。 @戳