Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用正则表达式验证多个电话号码_C#_Javascript_Asp.net_Regex - Fatal编程技术网

C# 如何使用正则表达式验证多个电话号码

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

我有一个场景,我必须一次验证多个电话号码。例如,我会像这样在网格中输入电话号码

+46703897733+46733457773;+46703443832;+42708513544;+91703213815;+919054400407

有人帮我吗

提前谢谢

  • 选择合适的正则表达式,例如从
  • 遍历您的数字集合并逐个验证它们,如:

    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}