如何获取没有子域名的域名?
例如,如果网址是" http://one.two.roothost.co.uk/page.html "如何获得"roothost.co.uk"?
Max*_*ter 25
以下是提取没有任何子域的域名的解决方案.此解决方案不对URL格式做任何假设,因此它适用于任何URL.由于某些域名有一个后缀(.com
),有些域名有两个或更多(.co.uk
),为了在所有情况下获得准确的结果,我们需要使用公共后缀列表解析主机名,该列表包含所有公共域名后缀的列表.
首先,在HTML中的脚本标记中包含公共后缀列表js api,然后在JavaScript中获取可以调用的主机名:
var parsed = psl.parse('one.two.roothost.co.uk');
console.log(parsed.domain);
Run Code Online (Sandbox Code Playgroud)
...将返回"roothost.co.uk".要从当前页面获取名称,可以使用location.hostname
而不是静态字符串:
var parsed = psl.parse(location.hostname);
console.log(parsed.domain);
Run Code Online (Sandbox Code Playgroud)
最后,如果您需要直接从完整的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;
Run Code Online (Sandbox Code Playgroud)
JSFiddle示例(它包含jsFiddle中的整个缩小库,所以向下滚动!):https://jsfiddle.net/6aqdbL71/2/
归档时间: |
|
查看次数: |
13234 次 |
最近记录: |