【问题标题】:get the site domain name and split into two variables获取站点域名并拆分为两个变量
【发布时间】:2013-12-16 23:05:34
【问题描述】:

我有一个网站网址(请参见上图) 案例1:我用下面的代码获取域名,让var "lastItem = com"的值和var "firstItem = mysite"的值

var sName = location.host;

var item = sName.split('.');
var lastItem = item.pop();
var firstItem = item.join('.');

对于案例 2:如果网站 url 更改,此代码将不起作用。 (如果添加前缀 www)。请帮忙。

【问题讨论】:

标签: javascript url dns


【解决方案1】:

那么,你基本上总是想要最后两个元素?

var lastTwo = sName.split('.').slice(-2),
lastItem = lastTwo[1],
firstItem = lastTwo[0];

【讨论】:

    【解决方案2】:
    var sName = location.host;
    
    var item = sName.split('.');
    var lastItem = item[item.length-1]
    var firstItem = item[item.length-2]
    

    如果您的域类似于 mysite.co.uk,它将无法正常工作。如果您需要匹配任何类型的 URL 来获取域名,您最好使用正则表达式。

    【讨论】:

    • 所以,域名可以是任何东西:mysite.co.uk、demo.mysite.co.uk、mysite.com、demo.mysite.com 上面的代码能用吗?
    • 会怎么样?知道哪个部分是主机,哪个部分是域,域名没有什么神奇的。
    【解决方案3】:
    var sName = location.host;
    var firstItem = sName.substr(0,sName.lastIndexOf('.'));
    var lastItem = sName.substr(sName.lastIndexOf('.')+1);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-08
      • 2013-12-10
      • 2012-10-09
      • 2022-06-22
      • 1970-01-01
      • 2015-01-29
      相关资源
      最近更新 更多