gpt4 book ai didi

javascript - 使用 JavaScript 获取没有子域的域名?

转载 作者:可可西里 更新时间:2023-11-01 01:18:31 25 4
gpt4 key购买 nike

如何获取没有子域名的域名?

例如如果 url 是“http://one.two.roothost.co.uk/page.html”如何获取“roothost.co.uk”?

最佳答案

以下是提取不带任何子域的域名的解决方案。此解决方案不对 URL 格式做出任何假设,因此它应该适用于任何 URL。由于有些域名只有一个后缀(.com),有些域名有两个或更多(.co.uk),为了在所有情况下都获得准确的结果,我们需要使用 Public Suffix List 解析主机名,其中包含所有公共(public)域名后缀的列表。


解决方案

首先,包括 public suffix list js api在 HTML 的脚本标记中,然后在 JavaScript 中获取您可以调用的主机名:

var parsed = psl.parse('one.two.roothost.co.uk');
console.log(parsed.domain);

...这将返回“roothost.co.uk”。要从当前页面获取名称,您可以使用 location.hostname 而不是静态字符串:

var parsed = psl.parse(location.hostname);
console.log(parsed.domain);

最后,如果您需要直接从完整的 URL 字符串中解析域名,您可以使用以下方法:

var url = "http://one.two.roothost.co.uk/page.html";
url = url.split("/")[2]; // Get the hostname
var parsed = psl.parse(url); // Parse the domain
document.getElementById("output").textContent = parsed.domain;

JSFiddle 示例(它包括 jsFiddle 中的整个缩小库,所以向下滚动!):https://jsfiddle.net/6aqdbL71/2/

关于javascript - 使用 JavaScript 获取没有子域的域名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9752963/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com