RegularExpressionValidator中的ValidationExpression

时间:2013-02-14 13:02:31

标签: c# javascript asp.net

我是这样的电子邮件验证正则表达式

 <asp:TextBox ID="TxtEmail" runat="server"></asp:TextBox>
 <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
 ControlToValidate="TxtEmail" ErrorMessage="*" ForeColor="#007528" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([.]\w+)*">      </asp:RegularExpressionValidator>

它不接受以下邮件地址:test-1-@hotmail.com

如何编辑正则表达式?

3 个答案:

答案 0 :(得分:0)

请检查:Email Regular Expressions

例如

<asp:TextBox ID="TxtEmail" runat="server"></asp:TextBox>
 <asp:RegularExpressionValidator ID="RegularExpressionValidator2" runat="server"
 ControlToValidate="TxtEmail" ErrorMessage="*" ForeColor="#007528" 
 ValidationExpression="^[a-zA-Z0-9\\_\\-]+[a-zA-Z0-9\\.\\_\\-]*@([a-zA-Z0-9\\_\\-]+\.)+([a-zA-Z]{2,4}|travel|museum)$"></asp:RegularExpressionValidator>

试试这个: 电子邮件正则表达式:

^[a-zA-Z0-9\_\-]+[a-zA-Z0-9\.\_\-]*@([a-zA-Z0-9\_\-]+\.)+([a-zA-Z]{2,4}|travel|museum)$

答案 1 :(得分:0)

我认为在ASP.Net Visual Studio中为您提供了一些常用的正则表达式验证选项,如电话号码和电子邮件。对于电子邮件,我使用下面的正则表达式,它适用于您的示例:

^[a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$

答案 2 :(得分:0)

你的正则表达式的问题是不接受 - +。如果没有字母数字字符,加上你接受asdf@asd.cl#safd等其他内容作为有效字符串直到#字符,你可以使用表达式^\w+([-+.']+\w*)*@\w+([-.]\w+)*\.\w+([.]\w+)+$我添加行的开头和行尾在开头和结尾,并更改([-+.']+\w+) ([-+.']+\w*)以接受零个或多个字母数字字符。我希望这有帮助。