Chrome电子邮件验证无效

时间:2014-01-14 11:36:44

标签: validation google-chrome email firefox html-email

我已在我的代码中验证了输入电子邮件。尽管验证在Firefox中有效,但它在Chrome中无效。那是;当提交像'example @'这样的电子邮件地址时,chrome会将其作为有效的电子邮件地址,尽管在Firefox中它会被打印为无效。 (但是没有@的电子邮件地址将被打印为无效)

1 个答案:

答案 0 :(得分:1)

W3C draft关于html5 input type="email"的有效电子邮件地址:

  

有效的电子邮件地址是与电子邮件制作相匹配的字符串   以下ABNF,其字符集为Unicode。这个   ABNF实现了RFC 1123中描述的扩展。[ABNF] [RFC5322]   [RFC1034] [RFC1123]

email         = 1*( atext / "." ) "@" label *( "." label )
label         = let-dig [ [ ldh-str ] let-dig ]  ; limited to a length of 63 characters by RFC 1034 section 3.5
atext         = < as defined in RFC 5322 section 3.2.3 >
let-dig       = < as defined in RFC 1034 section 3.5 >
ldh-str       = < as defined in RFC 1034 section 3.5 >
  

此要求是RFC 5322的 willful violation ,它定义了一个   电子邮件地址的语法同时过于严格(之前   “@”字符),太模糊(在“@”字符之后),太松懈了   (允许使用注释,空格字符和带引号的字符串   大多数用户不熟悉的方式)在这里有实际用途。

因此,所有案例都不是错误,因为没有严格遵守其他规范,浏览器可以自行实现电子邮件控制。