我有一个场景,我必须一次验证多个电话号码。例如,我将在网格中输入这样的电话号码。
46703897733; 46733457773; 46703443832; 42708513544; 91703213815; 919054400407
有人帮我吗?
提前致谢。
答案 0 :(得分:1)
使用以下代码获取+46 ...数字。 其他数字是simlar
string regexPattern = @"^+46[0-9]{9}$";
Regex r = new Regex(regexPattern);
foreach(string s in numbers)
{
if (r.Match(s).Success)
{
Console.WriteLine("Match");
}
}
答案 1 :(得分:0)
遍历您的号码集并逐一验证它们,如:
Regex rgx = new Regex(yourPattern, RegexOptions.IgnoreCase);
foreach(string num in numbers)
{
if(rgx.Matches(num ))
//do something you need
}
您还可以将RegularExpressionValidator添加到网格中的电话号码列单元格,并将其传递给您的模式。然后按钮单击或任何导致验证的事件将为您完成。
答案 2 :(得分:0)
如果 + 在您的号码中是强制性的,请在c#
中执行此操作 string[] numbers = new string[] { "+46703897733","+46733457773","46733457773"};
string regexPattern = @"^\+(\d[\d-. ]+)?(\([\d-. ]+\))?[\d-. ]+\d$";
Regex r = new Regex(regexPattern);
foreach(string s in numbers)
{
if (r.Match(s).Success)
{
//"+46703897733","+46733457773" are valid in this case
Console.WriteLine("Match");
}
}
如果 + 不是强制性的,则可以执行此操作
string regexPattern = @"^\+?(\d[\d-. ]+)?(\([\d-. ]+\))?[\d-. ]+\d$";
// all the numbers in the sample above will be considered as valid.
答案 3 :(得分:0)
您的正则表达式应该是:
[+][1-9][0-9]*
这是你所要求的;如果你想限制它,比如:+911234567890,那么你的exp应该是:
[+][1-9][0-9]{11,11}