【问题标题】:RegularExpressionValidator for US phonenumber ASP.net美国电话号码 ASP.net 的 RegularExpressionValidator
【发布时间】:2013-10-22 13:01:36
【问题描述】:

我在使用 Visual Studio 2010 使用 RegularExpressionValidator 时遇到问题。这是我的代码:

<asp:Label ID="phone" runat="server" Text="Phone Number"></asp:Label><asp:TextBox ID="phonebox"
    runat="server" TextMode="Phone"></asp:TextBox>
<asp:RegularExpressionValidator ID="RegularExpressionValidator3" runat="server" 
    ErrorMessage="Invalid Number" ControlToValidate="phonebox" 
    ValidationExpression="((\(\d{3}\) ?)|(\d{3}-))?\d{3}-\d{4}"></asp:RegularExpressionValidator>
<br />

无论我输入什么号码,我都会在该字段旁边收到一条错误消息 - 即使我复制并粘贴了一个有效的美国电话号码。

【问题讨论】:

    标签: asp.net regex validation


    【解决方案1】:

    参考这个链接: http://www.w3schools.com/aspnet/prop_webcontrol_textbox_textmode.asp

    尽管在msdn 上进行了枚举,但您应该只使用这三个:
    单行 - 默认。单行文本框
    MultiLine - 多行文本框
    密码 - 屏蔽输入的一行文本框

    我建议将其保留为简单文本(默认值)并使用正则表达式之一来验证正确性

    <asp:TextBox ID="phonebox" runat="server"></asp:TextBox>
    <asp:RegularExpressionValidator ID="RegularExpressionValidator3" runat="server" 
    ErrorMessage="Invalid Number" ControlToValidate="phonebox"     ValidationExpression="((\(\d{3}\) ?)|(\d{3}-))?\d{3}-\d{4}"></asp:RegularExpressionValidator>
    

    很少有其他 RegEx 可以在以下位置找到: Regular expression to validate US phone numbers?

    【讨论】:

      猜你喜欢
      • 2011-05-22
      • 1970-01-01
      • 2012-05-22
      • 2010-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-14
      • 2011-09-21
      相关资源
      最近更新 更多