建议使用javaScript验证电子邮件的好模式?

时间:2010-12-13 12:07:41

标签: javascript regex javascript-framework

所有的问候 我想用javaScript验证电子邮件 我需要使用最佳模式进行匹配 请建议我一个好的模式

4 个答案:

答案 0 :(得分:4)

为了避免重新发明轮子,我推荐这种质量article on regular-expressions.info

答案 1 :(得分:1)

这是标准验证正则表达式:RFC 822的http://www.ex-parrot.com/pdw/Mail-RFC822-Address.html;)

你可能想要更简单的东西(取自http://www.regular-expressions.info/email.html):/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i用于JavaScript

答案 2 :(得分:1)

如果我没记错的话,您可能需要警惕的是,某些电子邮件服务器不符合RFC822这一事实,因此对验证非常严格可能会排除某些“有效”的电子邮件地址。根据您需要的验证级别,可以检查电子邮件地址是否具有正确的基本格式 - 例如一个或多个单词以句点分隔,后跟@符号,后跟两个或多个单词分隔按期间。

话虽如此,您可能还想先考虑一下为什么要验证电子邮件地址。

如果您只是想确保用户没有错误输入,请询问电子邮件地址并确认电子邮件地址,然后比较两者以确定地址是否有效。 (这是很多网站使用的策略)

如果您想知道电子​​邮件地址是否真实,作为注册过程的一部分,则可以将注册分为两个步骤,并将确认电子邮件发送到用户提供的地址第一步,该电子邮件包含指向该过程第二步的链接。

我可能会对您的需求做出疯狂的假设,但我可能会触发适当的思考过程。

答案 3 :(得分:0)

^([0-9a-zA-Z]([-\.\+\_\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$应与大多数情况相符。我可能会因为不包括每一个边缘案例(电子邮件地址都可能有各种疯狂的组合)而大幅下调,但我认为我并不夸张说这将匹配99.99%的电子邮件地址。