如何在javascript或jquery中比较两个网址

时间:2012-08-31 17:54:34

标签: javascript jquery html url

  

可能重复:
  Parse URL with Javascript

我想比较网址的基本部分。如果我输入www.websitename.com,如果我输入

,则应该说重复
http://www.websitename.com
https://www.websitename.com
websitename.com
http://www.websitename.com/filename
subdomain.websitename.com etc.. 

我该怎么做?

1 个答案:

答案 0 :(得分:2)

如果您只是想比较两个网址是否具有相同的域,则可以使用正则表达式轻松编码。

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);
}

您可以在此处查看为每个网址返回的内容:http://jsfiddle.net/jfriend00/6YNgp/