我正在寻找一种轻量级的方式来解析一个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