如何为电话号码创建正则表达式

时间:2015-03-31 09:55:14

标签: c# regex

我想验证应以91+91

开头的10位数字
   var expr = new Regex(@"^((\+){0,1}91(\s){0,1}(\-){0,1}(\s){0,1}){0,1}9[0-9](\s){0,1}(\-){0,1}(\s){0,1}[1-9]{1}[0-9]{7}$");

这里只匹配以9开头的10位数。

输入:919234521098,9876543210; +919876543211; 919876543212

op:919234521098,+ 919876543211; 919876543212

由于

9 个答案:

答案 0 :(得分:1)

试试这个:

var regex = new Regex(@"\+?91\d{8}")

答案 1 :(得分:1)

这个应该做的伎俩

\+?91\s?\d{8}

它将匹配+ 9112345678,9112345678,+ 91 12345678和91 12345678

说明:

  • +?91将匹配91或+91(注意?,它将使字符在可选之前)
  • \ S?将允许在91
  • 之后有一个空格
  • \ d {8}匹配8位数字

答案 2 :(得分:1)

This expression works

\+?91\d{8}

它的作用:

  • \+?:选项+\转义+?使其可选)
  • \d{8}:8位数

答案 3 :(得分:1)

这是正则表达式:

https://regex101.com/r/mB4rX2/1

^\+?91[0-9]{8}$

答案 4 :(得分:0)

你可以试试这个。它将匹配一个以+91或91开头的10位数手机号码。

^[+]*91\d{10}$

答案 5 :(得分:0)

^[+91]+\d{8}

这应该有用。

答案 6 :(得分:0)

^\+?91[7,8,9]{1}[0-9]{9}$ 这将检查+是否存在。然后是91,然后第一个数字将在7,8,9之间,然后是最后9位数。

答案 7 :(得分:0)

<td>
                    <asp:TextBox ID="txtSMSMNo" runat="server"></asp:TextBox>
                    <asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server" 
                        ControlToValidate="txtSMSMNo" ErrorMessage="Enter Mobile No"></asp:RequiredFieldValidator>
                    <asp:RegularExpressionValidator ID="RegularExpressionValidatortxtMob" runat="server" SetFocusOnError="true"
                        ControlToValidate="txtSMSMNo" ErrorMessage="Please enter valid Mobile No." ValidationGroup="Valid"
                        ForeColor="Red" ValidationExpression="^[789]\d{9}$"> </asp:RegularExpressionValidator>
                </td>

答案 8 :(得分:-1)

used this code solve your problem


<asp:RegularExpressionValidator 
ID="RegularExpressionValidatortxtMob" 
runat="server"
SetFocusOnError="true"
ControlToValidate="txtSMSMNo" 
ErrorMessage="Please enter valid Mobile No."
ValidationGroup="Valid" 
ForeColor="Red"
ValidationExpression="^[789]\d{9}$">
</asp:RegularExpressionValidator>