在使用正则表达式验证EMAIL时,由于表达式不能替代RFC 2822中的复制和粘贴,我必须修改它:
^\.*[^\s]+@[a-zA-Z0-9]+(?:\.[a-zA-Z0-9-]+)*$
使不匹配这种情况:
test@test
答案 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个非空白符号后跟一个点。请注意,此模式仍然不允许电子邮件中的空格,但也允许使用空格。