我找到了以下正则表达式:
/[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/
在这个网站上: http://www.regular-expressions.info/email.html
并且效果很好(匹配99.99%的实际电子邮件),但有一个例外。它允许您在域后附加任何您想要的内容。
示例:
test does not match
test@domain does not match
test@domain.com does match
test@domain.co.uk does match
test@domain.comdsaf#()%@dsf,25ljsafdlfkjj&45234^\/3258afsd still matches
我也只想一次验证一封电子邮件,因此以下字符串不应匹配,尽管在电子邮件客户端中有效: test@domain.com; test2@domain.com
javascript正在使用它。
答案 0 :(得分:0)
/[a-z0-9!#$%&'*+\/=?^_
{|}〜 - ] +(?:!?[A-Z0-9#$%&安培;'* + / = ^ _ {|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/
我刚刚在最后添加了美元符号,表示您希望此时输入结束。