javascript - JavaScript中如何获取域名的 "meaningful"节点?

标签 javascript url

我所说的“有意义”是指大多数人用来识别网站的 url 部分(有专门的技术术语吗?)。例如,我希望代码在以下所有情况下都返回“gm”:

gm.com, gm.net, gm.info, gm.com.uk, gm.co.jp, gm.jp(这些可能不是真实网站)

此外,以上任何一个都有额外的子域,例如www.gm.com, www.cars.gm.com 等。它不必与国际化国家代码顶级域(非-ASCII 字符)。

我能想到的唯一方法是将最高级别标签(例如 .com)与通用顶级域、美国顶级域和国家代码顶级域进行比较域,然后尝试一次向左移动一个标签。这仍然要求我知道 .jp(以及所有其他国家/地区)下的所有二级域名,否则我将无法为 www.yahoo 返回正确的值.jpyahoo.co.jp。有更好的方法吗?

最佳答案

这实际上是一个比乍看起来更棘手的问题,因为您需要的域组件(技术上称为“标签”)的数量取决于域名。看这个:

http://www.onlineaspect.com/2011/03/17/detect-subdomains-using-effective-tlds/

Mozilla 项目启动了一个姊妹项目来维护有效 TLD 的列表;一旦您确定了 TLD,那么您正在寻找的只是在那之前的另一个标签。该列表可在此处获得:

http://publicsuffix.org/

关于javascript - JavaScript中如何获取域名的 "meaningful"节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16205289/

相关文章:

php - 如何删除 Yii 框架中的 index.php

google-chrome - 如何在 Ubuntu 中向 firefox 和 chrome 添加新的 MIME/协议(protocol)处理程序?

javascript - "Cannot set property ' 成功 ' of undefined"Parse.com 云代码中的 Promise 错误

javascript - data-ng-class 中的函数没有被调用

javascript - 为什么跟踪脚本在加载外部 JavaScript 时会检查协议(protocol)?

url - Eddystone URL 问题

javascript - Play 2 框架 + Loop for + 动态Javascript

javascript - 在 Laravel View 中触发 jquery 事件

javascript - 发送有关丢失互联网连接的 Google Analytics 事件

javascript - 使用 jQuery 更改 URL 和重定向