有效的電子郵件地址長度

Depositphotos 1948865年代

我今天必須進行一些挖掘才能找到它,但是您知道電子郵件地址的有效長度是多少嗎? 它實際上被分成了幾個部分…… 名稱@ Domain.com。 這是根據 RFC2822.

  1. 名稱可以是1到64個字符。
  2. 域可以是1到255個字符。

哇...這意味著這可能是有效的電子郵件地址:


氯麥角ad
gaelitanullamc @ loremaipsumadolorasitaametbaconsect
長尾鴝鷸
LaaluctuscaPellentesqueatinciduntbadiamaidacondimn
土瓜瘤胃
枸al酸膽鹼
ciduntaturpisaduis.com

嘗試將其安裝在名片上! 具有諷刺意味的是,大多數電子郵件地址字段在網絡上限制為100個字符。 這實際上是無效的。 如果您想驗證使用PHP進行正確構造的電子郵件地址,我在網上找到了以下代碼段:

http://derrick.pallas.us/email-validator/#許可證:學術免費許可證2.1#版本:2006-12-01a if(!ereg(''。'^'。'[-!#$%&\ '* + / 0-9 =?AZ ^ _a-z {|}〜]'。'(\\。?[-!#$%&\'* + / 0-9 =?AZ ^ _a-z { |}〜])*'。'@'。'[a-zA-Z](-?[a-zA-Z0-9])*'。'(\\。[a-zA-Z](- ?[a-zA-Z0-9])*)+'。'$',$ email)))返回false; list($ local,$ domain)= split(“ @”,$ email,2); if(strlen($ local)> 64 || strlen($ domain)> 255)返回false; 如果($ check &&!gethostbynamel($ domain))返回false; 返回true; # 結束 ###### }

9 個評論

  1. 1
  2. 2

    是的,我注意到其他解決方案也缺乏與RFC的合規性。 不過,我注意到,即使這個正則表達式也不是標準的,也不是標準的。 我記得對於大多數進程而言,閱讀實際的正則表達式(允許<,>,等)過於密集。

    但是,它寫的簡潔,絕對是任何企業電子郵件應用程序都可以接受的解決方案。

    再次感謝!
    道格

  3. 3

    不幸的是,我將該頁面鏈接到錯誤的RFC(2821而不是2822),但已得到糾正。 尖括號不能是電子郵件地址的本地或域部分的一部分; 相反,它們表示標記化點,即,由於它們不能成為地址的一部分,因此它們可以用於包圍電子郵件地址(例如,在您的郵件閱讀器中)。

    我的功能不執行的一件事是擔心電子郵件地址的引號形式(本地部分用雙引號引起),因為RFC2821本質上說,沒有人應該這樣寫。 (我認為此表格是為了向後兼容,現在是不好的做法。)

  4. 4
  5. 5

    RFC 2821中對MAIL和RCPT命令中的256個字符的地址長度有限制。 地址長度的上限通常應認為是256。

    —來源:RFC 3696勘誤

    另外,由於RFC 2181指出“完整的域名限制為255個八位字節”,因此人們(包括其他RFC的作者)反復將其誤解為域名的長度為255個字符。 但是RFC2181討論的是DNS協議級別的在線表示,而不是可打印字符。

    域名的最大長度為253個字符(254個字符,包括結尾的點,在線上為255個八位字節,結尾為null)。 這就是BIND和DiG的實現方式。

  6. 6
  7. 7
  8. 8

你覺得呢?

本網站使用Akismet來減少垃圾郵件。 了解您的評論如何處理.