-3

可能重复:
使用 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.. 

我该怎么做?

4

1 回答 1

2

如果您只想比较两个 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/

于 2012-08-31T18:04:30.837 回答