8

ドメイン名のみ、つまりgoogle.comjavascriptから取得しようとしています

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

...私は今クロムに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 に答える