【问题标题】:How to find URL domain using JavaScript如何使用 JavaScript 查找 URL 域
【发布时间】:2014-03-09 09:46:50
【问题描述】:

我正在研究如何查找 URL 的域,感谢my previous question,我得到了这个答案:

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 开始计数。

【问题讨论】:

  • 那你想要什么?
  • 您想要域名及其扩展名还是只需要域名?
  • 只是启动域名
  • 所以在stackoverflow.com,你需要stackoverflow
  • 是的,但请记住,可能有 stackoverflow.co.uk

标签: javascript


【解决方案1】:

好的,以下是让您了解其工作原理的编辑。

假设,您的网站是“www.cnn.co.uk”。如果您了解数组,则此行将返回由 '.' 分隔的 4 个元素组成的数组

var arr=domain.split(".")

即[www、cnn、co、英国];

现在,您要从这个数组中获得什么元素,这完全取决于您。如果您知道元素名称,并且想要检索 cnn,则可以这样做

`extension = arr[1];`

您还可以遍历数组以获取每个元素。


extension = arr[0];

它会返回给你 www。

【讨论】:

  • OP 要求域名
  • ?谢谢你好世界
  • 那就是伙计。 OP 要求的是域名而不是 www
  • 当我将它运行到 cnn.co.uk 时它不起作用,尽管它可以与 cnn.com 一起使用
  • @Wind64bit,看看我的回答
【解决方案2】:

使用此功能:

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

演示:http://jsfiddle.net/j7VP6/

【讨论】:

  • @Downvoter,敢说详细点吗?还是只是报复?
  • 我不是在寻找www,而是在寻找stackoverflow
  • 是的,我知道。它不给www,只给stackoverflow
  • 你检查了吗? @Wind64bit
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-10
  • 1970-01-01
  • 1970-01-01
  • 2020-08-21
  • 2013-07-19
  • 2023-04-05
  • 1970-01-01
相关资源
最近更新 更多