为什么这个RegEx与电话号码不匹配?怎么修?

时间:2011-02-17 12:47:25

标签: c# regex

我有这个电话号码:+44(0)1234 123456

以下正则表达式试图验证,但失败了:

var regexPhone = new Regex(@"^(\+)?([0-9\s\-])*$");

有人可以告诉我为什么会失败吗?是否可以更改它以便验证上面的数字?

3 个答案:

答案 0 :(得分:1)

你的正则表达式不允许任何括号。

看看Jabos对this question的回答是否可以帮助您。

答案 1 :(得分:0)

我建议您使用The Regulator调试正则表达式。

答案 2 :(得分:0)

正如Jens所指出的,你的正则表达式不允许括号。

^(\+)((\([0-9\s\-]*\))|([0-9\s\-]))*$

这个正则表达式应该可行。它允许一些数字也在括号内。