C# 如何使用正则表达式验证多个电话号码
我有一个场景,我必须一次验证多个电话号码。例如,我会像这样在网格中输入电话号码 +46703897733+46733457773;+46703443832;+42708513544;+91703213815;+919054400407 有人帮我吗 提前谢谢C# 如何使用正则表达式验证多个电话号码,c#,javascript,asp.net,regex,C#,Javascript,Asp.net,Regex,我有一个场景,我必须一次验证多个电话号码。例如,我会像这样在网格中输入电话号码 +46703897733+46733457773;+46703443832;+42708513544;+91703213815;+919054400407 有人帮我吗 提前谢谢 选择合适的正则表达式,例如从 遍历您的数字集合并逐个验证它们,如: Regex rgx = new Regex(yourPattern, RegexOptions.IgnoreCase); foreach(string num in numb
Regex rgx = new Regex(yourPattern, RegexOptions.IgnoreCase);
foreach(string num in numbers)
{
if(rgx.Matches(num ))
//do something you need
}
您还可以将RegularExpressionValidator添加到网格中的电话号码列单元格中,并将其传递给您的模式。然后单击按钮,或者任何导致验证的事件都将为您执行此操作如果您的号码中必须有+,请在c中执行此操作# 如果+不是强制性的,您可以这样做
string regexPattern = @"^\+?(\d[\d-. ]+)?(\([\d-. ]+\))?[\d-. ]+\d$";
// all the numbers in the sample above will be considered as valid.
将以下代码用于+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-9][0-9]*
这是你所要求的;如果您想限制它,比如:+911234567890,那么您的exp应该是:
[+][1-9][0-9]{11,11}
Javascript还是C#?下定决心。有什么特定的模式需要匹配吗?请将代码发布到目前为止。问题必须显示解决问题的尝试。在ASP.net中,使用内置的RegularExpressionValidator,您将发现MS为您编写的许多常用验证。我已对其进行了验证。你期望的输入和输出是什么?这是非常硬的编码,你如何与这个表达式匹配OP提供的所有数字?对于每一个不同的代码(+42,+91等),你需要用这种方法编写一个单独的正则表达式。本例的代码。对于所有情况,都可以使用此代码@“^+[1-9][0-9]{10}$”
[+][1-9][0-9]{11,11}