2012-12-09 154 views
2

我有一個標準的URL,例如使用javascript從url獲取子域名

http://www.test.com/test1/test2.html 

我正在使用JavaScript的riak地圖縮小,並希望只提取www.test.com。所以...域和子域。

在js中這樣做的最有效的方法是什麼,因爲我將擁有數百萬條記錄?

感謝

+1

整蠱,你幾乎需要已知域名擴展的數據庫,因爲,如果你有一個像... http://www.example.co.uk一個URL會發生什麼? ...這樣的列表:http://mxr.mozilla.org/mozilla-central/source/netwerk/dns/effective_tld_names.dat?raw=1 –

+0

嗯...在python中,我做到了這一點。刪除http://並按/分割。這是該領域的第一個元素。只需要在JS中的東西。 – Tampa

回答

5

看看這個答案:https://stackoverflow.com/a/8498629/623400

var matches = url.match(/^https?\:\/\/([^\/?#]+)(?:[\/?#]|$)/i); 
var domain = matches && matches[1]; // domain will be null if no match is found 

複雜域匹配是有點棘手,但是這一切都被覆蓋相當不錯的鏈接帖子。

0

試試這個:

var url = "http://www.test.com/test1/test2.html"; 
var domain = url.match(/:\/\/(.[^/]+)/)[1]