我看到许多解决方案来验证Regex的电话号码......但我想在我的电话号码中加入一些字符,例如+31(0)12
。
如果您的字符串值为+31(0)12-1234567
。这是电话号码的正确表示法。你怎么能用Regex验证?
我试过这个:
Regex phonePattern = new Regex(@"\+\d{3}?(\0)\d*\-\d*");
我错了什么?
其他例子如下:
+31(0)6-12345678
或+31(0)123-123456
答案 0 :(得分:7)
我也遇到过这个问题,并且发现此处没有重复,因为正则表达式是一个加号为+
的电话号码。
最后我自己格式化了这个正则表达式:
Regex phonePattern = new Regex(@"\s*(?:\+?(\d{1,3}))?([-. (]*(\d{3})[-. )]*)?((\d{3})[-. ]*(\d{2,4})(?:[-.x ]*(\d+))?)\s*");
这将匹配:
+nnnnnnnnnn
+nnn-nnn-nn
nnnnnnnnnnn
nnnn-nnnn-n
(nnn)nnnnnn
+(nnn)nnnnn
答案 1 :(得分:0)
应该是这样的:+ \ d {1,3}(0)\ d * - \ d *
您的示例没有转义零周围的括号,国家/地区代码长度可以是1到3位数。