https://html.spec.whatwg.org/multipage/input.html#email-state-(type=email)
这个网址不太好打开(打开也没有样式),这个是WHATWG HTML 规范中有效电子邮件地址的定义
angular内置的邮箱验证是基于这个规范进行了增强
原始:
^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$
angular加强条件:
1、禁止local-part(@符号前面的部分)以句点(.)开头或者结尾
2、不允许local-part超过64个字符【ok】
3、不允许整个地址超过254个字符【ok】
添加描述:
最终使用:注意转义字符
^(((?!\.)[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]{0,64}(?<!\.))@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)){0,128}$
或
^(((?!\.)[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]{0,64}(?<!\.))@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)){0,256}$
规则:
1、禁止local-part(@符号前面的部分)以句点(.)开头或者结尾
2、不允许local-part超过64个字符【ok】
3、不允许整个地址超过128/256个字符【ok】