如何从javascript中的url中提取TLD

问题描述 投票:0回答:2

我想从URL中提取TLD,但它却给了我整个URL。例如https://www.google.com.uk - > .com.uk。

$(document).on("click", "a", function() {
       var href = $(this).attr("href");
       alert(href)// It gives me the whole link of website
    if(href.search(".com.uk")){
        alert("This website is AUTHENTIC!");
    }
    else
    {
        alert("Not AUTHENTIC!")
    }
javascript google-chrome-extension
2个回答
2
投票

您可以使用URL类:

var url = new URL(href);
console.log(url.pathname); // /some/path

此外,生成的url对象具有更多有用的属性,并使浏览器执行字符串解析部分,因此在大多数情况下,您不必使用正则表达式。

要提取TLD主机名,您可以使用以下内容:

url.hostname.split(/\./).slice(-2).join('.');

docs


2
投票

要获取域的最后一块,例如com中的example.com,请使用以下内容:

const tld = window.location.origin.split('.').pop();

但是,像co.uk这样的eTLD需要特殊情况。如果您想对.co.uk的支票进行硬编码:

const isUK = window.location.origin.endsWith('.co.uk');
© www.soinside.com 2019 - 2024. All rights reserved.