我有一个场景,我必须一次验证多个电话号码。例如,我将在网格中输入这样的电话号码。
+46703897733;+46733457773;+46703443832;+42708513544;+91703213815;+919054400407。
有人帮帮我吗?
提前致谢。
我有一个场景,我必须一次验证多个电话号码。例如,我将在网格中输入这样的电话号码。
+46703897733;+46733457773;+46703443832;+42708513544;+91703213815;+919054400407。
有人帮帮我吗?
提前致谢。
使用下面的代码 +46... 数字。其他数字是相似的
string regexPattern = @"^+46[0-9]{9}$";
Regex r = new Regex(regexPattern);
foreach(string s in numbers)
{
if (r.Match(s).Success)
{
Console.WriteLine("Match");
}
}
遍历您的号码集合并一一验证它们,例如:
Regex rgx = new Regex(yourPattern, RegexOptions.IgnoreCase);
foreach(string num in numbers)
{
if(rgx.Matches(num ))
//do something you need
}
您还可以将 RegularExpressionValidator 添加到网格中的电话号码列单元格并将其传递给您的模式。然后按钮单击或任何导致验证的事件将为您完成。
如果+在您的号码中是强制性的,而不是在 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.
您的正则表达式模式应该是:
[+][1-9][0-9]*
这是你需要的;如果你想限制它,比如:+911234567890,那么你的 exp 应该是:
[+][1-9][0-9]{11,11}