有人知道 ASP.NET 中电子邮件验证器使用的正则表达式是什么吗?
有人知道 ASP.NET 中电子邮件验证器使用的正则表达式是什么吗?
以下是使用 .NET 中的 RegularExpressionValidator 验证互联网邮件地址的正则表达式:
\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
顺便提一下,如果在页面上放置一个RegularExpressionValidator,并进入设计视图,那么会出现一个ValidationExpression字段,您可以使用该字段从.NET提供的表达式列表中进行选择。 一旦选择所需的表达式,就会有一个包含验证器使用的正则表达式的Validation expression:文本框。
我不再验证电子邮件地址的格式(但是我会检查确保有@符号和之后有一个句点)。这样做的原因是,即使按照正确的格式输入电子邮件地址,也无法保证该地址是否有效。您应该向其发送电子邮件并要求他们点击链接或验证代码。这是验证电子邮件地址是否有效以及确认接收方是否能够接收电子邮件的唯一真正方法。
@
和 .
(或参考 https://dev59.com/h3RB5IYBdhLWcg3wCjcV) - LCJ <asp:RegularExpressionValidator ID="validateEmail"
runat="server" ErrorMessage="Invalid email."
ControlToValidate="txtEmail"
ValidationExpression="^([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$" />
除了使用验证器进行客户端验证,我还建议进行服务器端验证。
bool isValidEmail(string input)
{
try
{
var email = new System.Net.Mail.MailAddress(input);
return true;
}
catch
{
return false;
}
}
.+@.+\..+
。我坚持使用它,因为许多电子邮件不遵循标准,但它们仍然有效。 - LCJ