可能重复:
使用 Javascript 解析 URL
我想比较 URL 的基本部分。如果我输入www.websitename.com
了它应该说如果我输入重复
http://www.websitename.com
https://www.websitename.com
websitename.com
http://www.websitename.com/filename
subdomain.websitename.com etc..
我该怎么做?
可能重复:
使用 Javascript 解析 URL
我想比较 URL 的基本部分。如果我输入www.websitename.com
了它应该说如果我输入重复
http://www.websitename.com
https://www.websitename.com
websitename.com
http://www.websitename.com/filename
subdomain.websitename.com etc..
我该怎么做?
如果您只想比较两个 URL 是否具有相同的域,您可以使用正则表达式轻松地对其进行编码。
javascript 没有办法知道这一点,http://www.websitename.com/
并且http://subdomain.websitename.com/
在没有实际获取内容并进行比较的情况下,是否解析到相同的主机或内容,因为它完全取决于主机实现,它可以以任何一种方式设置,而不是javascript可以知道。
这是一个从 URL 获取域的函数:
function getDomain(url) {
var prefix = /^https?:\/\//i;
var domain = /^[^\/:]+/;
// remove any prefix
url = url.replace(prefix, "");
// assume any URL that starts with a / is on the current page's domain
if (url.charAt(0) === "/") {
url = window.location.hostname + url;
}
// now extract just the domain
var match = url.match(domain);
if (match) {
return(match[0]);
}
return(null);
}
您可以在此处查看每个 URL 的返回值:http: //jsfiddle.net/jfriend00/6YNgp/