DC_*_*DC_ 73 php regex email-validation tld
我正在使用PHP中的电子邮件验证正则表达式,我需要知道TLD可能存在多长时间并且仍然有效.我做了一些搜索,但找不到有关该主题的更多信息.那么TLD可能需要多长时间?
tri*_*eee 68
DNS允许单个标签最多63个字符.
Dan*_*scu 63
目前存在的最长TLD长度为24个字符,可能会有变化.RFC 1034指定的最大TLD长度为63个八位字节.
要获得最长的现有TLD的长度:
wget -qO - http://data.iana.org/TLD/tlds-alpha-by-domain.txt | tail -n+2 | wc -L
Run Code Online (Sandbox Code Playgroud)
这是该命令的作用:
wc计算最长的线路替代使用curl感谢Stefan:
curl -s http://data.iana.org/TLD/tlds-alpha-by-domain.txt | tail -n+2 | wc -L
Run Code Online (Sandbox Code Playgroud)
-编辑-
根据RFC 2606 .localhost是保留的域名,其长度为9个字符.这是我所知道的最长的.
-END OF EDIT-
但是,我认为您应该关注电子邮件地址长度而不仅仅是TLD长度.下面是从报价这个文章.电子邮件地址长度为254个字符:
最大有效电子邮件地址大小似乎存在一些混淆.大多数人认为它是320个字符(用户名为64个字符,域名为255个字符,@符号为1个字符).其他来源建议129(64 + 1 + 64)或384(128 + 1 + 255,假设未来用户名长度翻倍).
这种混乱意味着你应该听从"稳健性原则"("开发商应该仔细编写紧贴现存的RFC软件,但接受和同龄人可能不与RFC的一致解析输入." - 维基百科)编写的软件与交易时电子邮件地址.此外,某些软件可能会因天真的假设而瘫痪,例如认为50个字符就足够了(例子).您的200个字符的电子邮件地址可能在技术上有效,但如果大多数网站或应用程序拒绝您,则无法帮助您.
实际的最大电子邮件长度目前为254个字符:
" RFC 3696的原始版本确实说320是最大长度,但John Klensin(ICANN)后来接受这是错误的."
"这来自一个域的最大长度(255个字符)+邮箱的最大长度(64个字符)的简单算术+ @符号= 320个字符,错误的,这鸭翼是在原始版本实际上记录RFC3696,它在勘误表中更正了.实际上RFC5321对256个字符的SMTP事务的路径元素有限制.但这包括电子邮件地址周围的斜括号,因此电子邮件地址的最大长度为254个字符.