正则表达式用于电子邮件验证

我写了下面的正则表达式来进行一个非常简单的电子邮件验证。 我打算发送确认链接。

/.*@[a-z0-9.-]*/i

但是,我想要从当前状态中增强它,因为像这样的字符串不会产生所需的结果:

测试,my.name + test @ gmail-something.co.uk,测试

“测试”部分不合需要地包含在比赛中。 我尝试使用单词边界失败。

  • 我应该如何修改?
  • 尽管我保持这种简单,有没有有效的电子邮件格式它会排除?
  • 谢谢!


    代替 。 尝试匹配 s(空格)之外的每个字符:

    /[^s]*@[a-z0-9.-]*/i
    

    这是一个复杂得多 ! 查看Mail :: RFC822 :: Address并被吓坏了......非常害怕。


    不要使用正则表达式来验证电子邮件地址

    相反,从Ben Finney写的mail.python.org/pipermail/python-list1。

    当人们问我“如何验证电子邮件地址是否有效?”时,我看到了最好的建议。 是“尝试发送邮件给它”。

    这既是Pythonic,也是最好的方式。 如果你确实想确认,不要试图静态验证; 使用电子邮件地址,并检查结果。 发送电子邮件至该地址,除非您收到收件人回复“是的,这是正确的地址”,否则请不要再使用它。

    发送系统的邮件传输代理(而不是正则表达式)决定哪个部分是发送邮件的域。

    域名系统(不是正则表达式)确定哪些域有效,哪些主机应该接收该域的邮件。

    最特别的是,接收邮件系统,而不是正则表达式,决定哪些本地部分是有效的。

    1这是死亡之前的原始链接

    链接地址: http://www.djcxy.com/p/16559.html

    上一篇: regex for email validation

    下一篇: PHP email validation