Custom-验证自定义电子邮件地址的Javascript正则表达式
我希望它是正确的JavaScript正则表达式模式,以验证下面的电子邮件地址场景Custom-验证自定义电子邮件地址的Javascript正则表达式,javascript,angular6,Javascript,Angular6,我希望它是正确的JavaScript正则表达式模式,以验证下面的电子邮件地址场景 /^[_a-z0-9]+(\.[_a-z0-9]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/ msekhar@yahoo.com msekhar@cs.aau.edu 女士。sekhar@yahoo.com ms_sekhar@yahoo.com msekhar@cs2.aau.edu msekhar@autobots.ai msekhar@interior.home
/^[_a-z0-9]+(\.[_a-z0-9]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/
/^[_a-z0-9]+(\.[_a-z0-9]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/
有谁能帮我解决我哪里做错了吗?下面的正则表达式应该可以:
^(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$
([^()\[\]\,;:\s@\“]+(\.[^()\[\]\,;:\s@\“]+)*)([^()[\]\,;:\s@\“]+\)+([^()[\]\,;:\s@\”]{2,})$
测试它:
编辑:我已经添加了您所有的测试用例我一直使用这个,但请注意,它不会在转义unicode上触发:
^([\w\d._\-#])+@([\w\d._\-#]+[.][\w\d._\-#]+)+$
您可以在这里看到它是如何工作的:首先
[\u a-z0-9]+
将匹配大多数测试用例的用户名字段。对用户名字段内容的任何进一步测试都将导致不匹配。如果您编写的模式需要两个
分隔的字段,那么当您提供两个
分隔的字段时,它将匹配,并且只有在这两个字段中匹配,而不是其他任何字段。记住这一点。我想你可能想把
放在第一个字符集中,在这里省略这一部分:([u a-z0-9]+)
至于电子邮件地址的域部分,也有类似的情况。。。如果您试图将包含两个标签(yahoo
和com
)的域与期望三个标签的模式进行匹配。。。它会失败,因为少了一个标签,对吗?有些域名只包含一个标签,您可能也想将其识别为电子邮件地址,例如localhost
你知道,有一点,你可以把自己从一个非常深的兔子洞里挖出来,试图解析电子邮件地址,这在很大程度上影响了你。如果你用正则表达式把这个复杂化。。。我想也许更好的工具是一个合适的解析器生成器。。。否则,请填写以下内容:
@
字符之前匹配任何内容的模式@
字符匹配的模式(这将帮助您了解如何避免与
相关的错误)
相关的错误)这似乎是一个重复的问题!您是否检查了以下内容?-注释可能重复的可能重复,上述参考主题未考虑本地部分中的unicode字符。另请参见SMTPUTF8中的国际字符在本地部分的使用,该部分已于2012年作为