正则表达式 – 完全限定域名验证

前端之家收集整理的这篇文章主要介绍了正则表达式 – 完全限定域名验证前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如果输入正确的FQDN,是否有快速而肮脏的方式进行验证?请记住,没有DNS服务器或Internet连接,因此验证必须通过regex / awk / sed完成。

有任何想法吗?

现在更难了,国际化的域名和几千(!)个新的TLD。

容易的部分是您仍然可以在“。”上分割组件。

您需要可注册TLD的列表。有一个网站:

https://publicsuffix.org/list/effective_tld_names.dat

您只需检查ICANN认可的。请注意,可注册TLD可以有多个组件,如“co.uk”。

然后有IDN和punycode。域现在是Unicode。例如,

“xn – nnx388a”相当于“台湾”。这两个都是有效的TLD。

对于punycode转换代码,请参见“http://golang.org/src/pkg/net/http/cookiejar/punycode.go”。

检查每个域组件的语法也有新的规则。参见RFC5890
http://tools.ietf.org/html/rfc5890

组件可以是A标签(仅限ASCII)或Unicode。
ASCII标签遵循旧的语法,或者开始“xn--”,在这种情况下,它们是一个punycode
Unicode字符串的版本。

Unicode的规则非常复杂,并在RFC5890中给出。这些规则旨在防止从左到右和从右到左的集合混合字符。

对不起,没有简单的答案。

猜你在找的正则表达式相关文章