我正在尋找一種輕量級的方式來解析一個URL並提取域名。網址可能有不同的是,某些情況下,但我總是喜歡相同的結果,例如:用URL解析URL到域名中
www.mysite.com ---> mysite
mysite.staging.blahblah.stuff.com:8080 ---> mysite
mysite.net ---> mysite
「mysite的」永遠是URL的一部分,之前它永遠不會有一個以上的點。
我正在尋找一種輕量級的方式來解析一個URL並提取域名。網址可能有不同的是,某些情況下,但我總是喜歡相同的結果,例如:用URL解析URL到域名中
www.mysite.com ---> mysite
mysite.staging.blahblah.stuff.com:8080 ---> mysite
mysite.net ---> mysite
「mysite的」永遠是URL的一部分,之前它永遠不會有一個以上的點。
您可以使用location.host原生javascript對象來獲取url的主機部分,然後您可以將該對象傳遞給輔助函數以在期間分割它。數組中的第一項產生的分裂應該是你在找什麼。但是,如果www是網址的一部分,您正在尋找的將是第二項。
parseURL(location.host);
function parseURL(host) {
var hostParts = host.split(".");
if (hostParts[0] == "www") {
return hostParts[1];
}
return hostParts[0];
}
謝謝 - 這似乎是訣竅:) – flyagaricus
也許這將是更好的扭轉問題 - 檢查每對主機名可能的值:
for (i = 0; i < sitenames.length; i++) {
if (location.host.indexOf(sitenames[i]) >= 0) {
sitename = sitenames[i];
break;
}
}
你能不能給樣品輸入一個網址列表? – Halcyon
你真的想在第二個例子中使用mysite嗎?我想你會想在第一個例子中使用「stuff」 –
..或者「www」。 – Halcyon