制作正则表达式以取消匹配特定的电子邮件案例

时间:2017-06-14 16:41:32

标签: javascript regex

在使用正则表达式验证EMAIL时,由于表达式不能替代RFC 2822中的复制和粘贴,我必须修改它:

^\.*[^\s]+@[a-zA-Z0-9]+(?:\.[a-zA-Z0-9-]+)*$

使不匹配这种情况:

test@test

这里是链接:https://regex101.com/r/RGvyHk/2

1 个答案:

答案 0 :(得分:2)

将最后*替换为+,要求至少出现一次(?:\.[a-zA-Z0-9-]+)模式。

使用

^[a-zA-Z0-9]+@[a-zA-Z0-9]+(?:\.[a-zA-Z0-9-]+)+$
                                             ^

请参阅regex demo

请注意,此模式限制性太强。您应该考虑使用更加宽松的模式,例如/^\S+@\S+\.\S+$/,只需要用1个非空白符号包含@,然后用1个非空白符号后跟一个点。请注意,此模式仍然不允许电子邮件中的空格,但也允许使用空格。