2014-01-21 50 views
0

我正在尋找一種輕量級的方式來解析一個URL並提取域名。網址可能有不同的是,某些情況下,但我總是喜歡相同的結果,例如:用URL解析URL到域名中

www.mysite.com ---> mysite 
mysite.staging.blahblah.stuff.com:8080 ---> mysite 
mysite.net ---> mysite 

「mysite的」永遠是URL的一部分,之前它永遠不會有一個以上的點。

+0

你能不能給樣品輸入一個網址列表? – Halcyon

+4

你真的想在第二個例子中使用mysite嗎?我想你會想在第一個例子中使用「stuff」 –

+2

..或者「www」。 – Halcyon

回答

1

您可以使用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]; 
} 
+0

謝謝 - 這似乎是訣竅:) – flyagaricus

0

也許這將是更好的扭轉問題 - 檢查每對主機名可能的值:

for (i = 0; i < sitenames.length; i++) { 
    if (location.host.indexOf(sitenames[i]) >= 0) { 
     sitename = sitenames[i]; 
     break; 
    } 
}