Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.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#_Regex_Validation - Fatal编程技术网

C# 我希望正则表达式验证给定格式的手机和电话号码

C# 我希望正则表达式验证给定格式的手机和电话号码,c#,regex,validation,C#,Regex,Validation,我希望用户只能输入给定格式的手机/电话号码 +1234567891>当+在+之后使用时,用户不能输入0或00,如果+在+之后使用,则只允许10到14位数字 01234567891>当用户输入单个0时,用户只能在0之后输入10位数字 00123456789>当用户输入double 00之后,用户不能在double 00之后输入第三个0,并且用户必须在double 00之后输入10到14位数字 我的密码是这有人能帮我吗 string mob = txtmobile.Text.Trim(); Rege

我希望用户只能输入给定格式的手机/电话号码

+1234567891>当+在+之后使用时,用户不能输入0或00,如果+在+之后使用,则只允许10到14位数字

01234567891>当用户输入单个0时,用户只能在0之后输入10位数字

00123456789>当用户输入double 00之后,用户不能在double 00之后输入第三个0,并且用户必须在double 00之后输入10到14位数字

我的密码是这有人能帮我吗

string mob = txtmobile.Text.Trim();
Regex plus = new Regex("^[+]?<!(0|00)[0-9]{10,14}$");
Regex zero = new Regex("^[0]{1}[0-9]{10}$");
Regex zeroes = new Regex("^[0]{2}[^0][0-9]{10,14}$");

        if (!plus.IsMatch(mob))
        {
            if (!zero.IsMatch(mob))
            {
                if (!zeroes.IsMatch(mob))
                {
                    lblmobile.Text = "*Mobile number must be correct format";
                    lblmobile.Visible = true;
                    flg = false;
                }
            }
        }
string mob=txtmobile.Text.Trim();

Regex plus=newregex(“^[+]”?试试这个:
\+0[0-9]{9}\+0[1-9][0-9]{12}0[1-9][0-9]{8}00[1-9][0-9]{9}00[1-9][0-9]{13}


或者这样:
\+0\d{9}\+0[1-9]\d{12}0[1-9]\d{8}00[1-9]\d{9}00[1-9]\d{13}

您的模式的常见问题是,它们允许在所有情况下输入零。 让我们以
^[+]为例-您告诉引擎:

  • 匹配“+”符号
  • 断言立即不存在零或双零
  • 匹配10到14位数字,包括零
您需要以这种方式更改模式:

  • 对于plus规则:
    ^[+][1-9][0-9]{9,13}$
    ;这可以翻译为:“匹配加号,一个介于1和9之间的数字,以及介于0和9之间的9到13个数字”
  • 对于zero规则:
    ^0[1-9][0-9]{9}$
  • 对于规则:
    ^00[1-9][0-9]{9,13}$

顺便说一句,规则的示例无效;
00

之后只有9位数字,您需要什么样的帮助?