2015-01-16 42 views
4

我注意到<input type="email" />的內置瀏覽器驗證需要格式爲[email protected]。只有@字符是必需的。不需要點,如[email protected]如果電子郵件驗證需要域部分包含點?

這與流行的jQuery.inputmask相同,email別名的規則也不需要點。

我只是好奇。現在是忽略電子郵件驗證點的標準方法嗎?我沒有看到根級別域上的任何電子郵件地址。忽略點的原因是什麼?

+3

[爲什麼HTML5表單驗證允許沒有點的電子郵件?](http://stackoverflow.com/questions/20573488/why-does-html5-form-validation-allow-emails-without-a -dot) – JJJ

+0

郵件很複雜,幾乎所有包含'@'的郵件都可能是電子郵件,甚至是'bill @ com',這就是爲什麼驗證過於嚴格會導致問題的原因。 – adeneo

+0

謝謝Juhana。它似乎是重複的。 – Blaise

回答

7

RFC 822的,第6章,給出了一個地址的在擴充巴科斯範式(BNF)規範:

addr-spec = local-part "@" domain 
local-part = word *("." word) 
domain  = sub-domain *("." sub-domain) 

使用本說明書[email protected]是有效的地址。

+2

規範是愚蠢的,因爲現實生活中的每個電子郵件地址都有.com,.net等。忘記這個結局是一種常見的用戶錯誤,因此在現實生活中,遵循規範意味着大量錯誤的電子郵件地址得到接受。 – Acyra