电子邮件地址验证的正则表达式

本文关键字:正则表达式 验证 电子邮件地址 | 更新日期: 2023-09-27 18:05:48

我正在尝试验证电子邮件地址。目前,我正在使用以下正则表达式来验证电子邮件地址,这完全可以。但我现在想把它改成两周,只允许min 2和max 40个字符用于电子邮件地址的域部分,即在@符号之后。我试着设置范围,但我想它不会像这样工作。我哪里做错了?

正则表达式:

^'w+(['.-]?'w+)*@'w+(['.-]?'w+)*('.'w{2,})$

电子邮件地址验证的正则表达式

验证电子邮件地址是非常重要的,您的正则表达式会拒绝非常好的电子邮件地址,例如test+1234@localhost。如果你需要自己做,请看RFC 822§6。

然而,在c#中,有一个类MailAddress,它的构造函数接受字符串参数。你可以尝试构造一个MailAddress addr = new MailAddress(emailString),看看它是否会抛出一个FormatException。作为一个好处,MailAddress对象有许多有用的方法来处理电子邮件地址。

编辑:我的道歉,我错过了你试图限制主机长度。如果像上面那样创建MailAddress,那么addr.Host将包含主机名部分,您可以检查它的长度。