我知道这里有很多关于电子邮件验证和特定 RegEx 的问题。我想知道关于使用 username+anythingelse@gmail.com
技巧 ( details here ) 验证电子邮件的最佳做法是什么。我当前用于 JavaScript 验证的 RegExp 如下,但它不支持句柄中额外的 +
:
/^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/
是否有任何其他服务支持额外的 +
?我应该在地址中允许使用 +
还是应该更改 RegEx 以仅允许使用 gmail.com
或 googlemail.com
的电子邮件作为域?如果是这样,修改后的 RegEx 会是什么?
更新:
感谢大家指出 +
根据规范是有效的。我不知道,现在为 future 做。对于那些说即使使用 RegEx 来验证它也不好的人,我的理由完全基于我正在构建的创意设计。我们客户的设计在其模糊输入的电子邮件地址旁边放置了一个绿色勾号或红色 X。该图标指示它是否是有效的电子邮件地址,因此我必须使用一些 JS 来验证它。
最佳答案
+
是 valid character在电子邮件地址中。如果域不是 gmail.com 或 googlemail.com 并不重要
正则表达式实际上并不是验证电子邮件的好方法,但如果您只想修改正则表达式来处理加号,请将其更改为以下内容:
/^([a-zA-Z0-9_.-\+])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/
作为此正则表达式未根据规范进行验证的示例:根据规范,电子邮件 ..@-.com
是有效的。
关于javascript - 电子邮件地址验证的最佳做法(包括 gmail 地址中的 +),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1874104/