电子邮件正则表达式验证

Lia*_*amB 8 .net c# regex asp.net validation

任何人都可以更正下面的表达式也不允许空白字段?

<asp:RegularExpressionValidator ID="expEmail" runat="server" ControlToValidate="txtEmail" ErrorMessage="valid email address required" ValidationExpression="^([a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]){1,70}$"></asp:RegularExpressionValidator>
Run Code Online (Sandbox Code Playgroud)

akr*_*nov 18

其中一个解决方案(不是最好的解决方案)是实现一些正则表达式:

^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$
Run Code Online (Sandbox Code Playgroud)

示例:someone@example.com

但实际上,编写和维护良好的电子邮件验证regexp非常困难.你不应该相信100%你的正则表达式.你可以在互联网上找到几篇关于这个难点的文章:


Pad*_*ddy 11

添加一个必需的字段验证器 - 我认为只有在字段中有文本要查看时才会触发正则表达式验证器.