如何使用JavaScript查找URL域

如何使用JavaScript查找URL域,javascript,Javascript,我正在研究如何查找URL的域,多亏了,我得到了以下答案: var domain = (location.host) var arr=domain.split(".") extension=arr[arr.length-1] if(extension=="cnn") alert("true"); 但是,我有两个问题: 它工作良好,直到你遇到一个网站与扩展co.uk。 有办法数数吗。从开始到结束? 例如,对于www.cnn.

我正在研究如何查找URL的域,多亏了,我得到了以下答案:

var domain = (location.host)
        var arr=domain.split(".")
        extension=arr[arr.length-1]

        if(extension=="cnn")
            alert("true");
但是,我有两个问题:

它工作良好,直到你遇到一个网站与扩展co.uk。 有办法数数吗。从开始到结束?
例如,对于www.cnn.com网站,它将从www开始计算,而不是从com开始计算

好的,这里的编辑让您了解它是如何工作的

比如说,你的网站是www.cnn.co.uk。如果您理解数组,此行将返回由“.”分隔的4个元素组成的数组

var arr=domain.split(".")
i、 e.[www,cnn,co,uk]

现在由你决定你想从这个数组中得到什么元素。如果您知道元素名称,并且希望检索cnn,则可以执行以下操作

`extension = arr[1];`
您还可以迭代数组以获取每个元素

扩展=arr[0]

它将返回www.

使用此功能:

function GetDomainName() {
    if (location.host.split('.')[0] == 'www') {
        return location.host.split('.')[1];
    } else {
        return location.host.split('.')[0];
    }
}
可以这样称呼:

var domainName=GetDomainName();
但请记住,这在子域中不起作用,例如

programmers.stackexchange.com

演示:

那么你想要什么?你想要域名及其扩展名还是仅仅是域名?仅仅是startso的域名在stackoverflow.com中,你需要stackoverflow?是的,但是请记住,可能有stackoverflow.co.ukOP要域名?谢谢你,你好,老兄。OP要求的是域名,而不是www.cn。当我运行到cnn.co.uk时,它不起作用,尽管它与cnn合作。com@Wind64bit,查看我的answer@Downvoter,敢详细说明吗?或者只是为了报复?我不是在找www,而是在找stackoverflow onlyYes,我知道。它不仅仅提供了StackOverflow,你还查过了吗@64位