1

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

 <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

如何编辑正则表达式?

4

3 回答 3

0

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

例如。

<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)$
于 2013-02-14T13:14:23.567 回答
0

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

^[a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$
于 2013-02-14T13:22:27.057 回答
0

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

于 2013-02-14T13:32:51.683 回答