8

我尝试google.com仅从 javascript获取域名

document.location.hostname

此代码返回www.google.com.

我怎么才能得到google.com?在这种情况下,要么删除域名,要么www.只获取域名(如果 javascript 中有这样的方法)。

4

2 回答 2

20
var host = location.hostname.replace( /www\./g, '' );

'g' 标志用于'global',如果你想要一个真正的“gsub”(所有匹配项被替换,而不仅仅是第一个),则需要它。

不过,更好的是获得完整的 TLD:

var tld = location.hostname.replace( /^(.+\.)?(\w+\.\w+)$/, '$2' );

这将处理类似的域,foo.bar.jim.jam.com并为您提供jam.com.

于 2012-12-22T01:39:35.753 回答
1

...我现在在 chrome 中,并且window.location.host成功了。

编辑

所以我是个白痴......但希望这会赎回:

正则表达式的替代方法:

var host = window.location.hostname.split('.')
    .filter(
        function(el, i, array){
            return (i >= array.length - 2)
        }
    )
    .join('.');
于 2012-12-22T02:09:56.660 回答