首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于电子邮件地址验证的Regex

问用于电子邮件地址验证的Regex
EN

Stack Overflow用户
提问于 2016-09-05 01:33:19
回答 1查看 1.3K关注 0票数 0

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

正则表达式:

代码语言:javascript
复制
^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,})$
EN

回答 1

Stack Overflow用户

发布于 2016-09-05 01:38:51

验证电子邮件地址并不是一件容易的事情,而且您的正则表达式会拒绝test+1234@localhost等完美的电子邮件地址。如果你需要自己做这件事,可以看看RFC 822 §6。

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39319662

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档