2014-01-21 49 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; 
    } 
}