如何将RegularExpressionValidator用于电话号码

时间:2013-08-22 09:45:42

标签: asp.net regex

在asp.net中,我想使用regularexpressionvalidator作为电话号码。要求仅允许数字和Dash( - )

<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="txtPhone" ErrorMessage="Not a Valid Phone Number" ValidationExpression="\d*">

以上代码仅验证数字,但不验证Dash -。像用户随机放 23333-34(应接受)或任何组合。它不一定 - 会在那里。它可能只是一些数字。

2 个答案:

答案 0 :(得分:1)

您可以将其用作ValidationExpression:

 [0-9-]*

接受任意数量的数字和破折号(包括“---”) 你也可以用这个:

 ([0-9]\-?)*

接受数字,可选择在中间(或之后)使用单个破折号。使用{5,10}代替*接受最少5位数,最多10位数(根据需要调整数字)。

有关更多正则表达式信息,请参阅MSDN

答案 1 :(得分:0)

<asp:TextBox ID="txtPhone" runat="server"></asp:TextBox>  
<asp:RegularExpressionValidator ID="reg" runat="server" ValidationGroup="VGrp"
    SetFocusOnError="true" ErrorMessage="Phone is invalid"
    ControlToValidate="txtPhone" ValidationExpression="\d*"></asp:RegularExpressionValidator>

试试这个。