从字符串URL获取域名和页面名称

时间:2011-03-17 18:07:20

标签: javascript jquery regex

我现在有一些关于操纵网址的问题。

技术上我想要的是从页面获取域名和页面名称。

例如:

www.myWebSite.com => domain : myWebSite
http://myWebSite.com => domain : myWebSite
myWebSite.com/xxx.hmtl => domain : myWebSite page : xxx

5 个答案:

答案 0 :(得分:18)

window.location.hostname; //Domain name

$("title").text(); //Page name

修改

var loc = window.location;

var filename = loc.pathname.split("/");
filename = filename[pathname.length-1];

alert("Domain: "+loc.hostname);
alert("Filename: "+filename);

答案 1 :(得分:14)

尝试使用url.match(/:\/\/(.[^/]+)/)[1]

示例:

var r = /:\/\/(.[^/]+)/;
"http://stackoverflow.com/questions/5343288/get-the-domain-and-page-name-from-a-string-url".match(r)[1] 
=> stackoverflow.com

答案 2 :(得分:4)

使用window.location.hostnamewindow.location.host。检查location reference

答案 3 :(得分:1)

我希望这会有所帮助:

function breakDownURL(url) {
    var domain = "",
        page = "";
    //remove "http://"
    if (url.indexOf("http://") == 0) {
        url = url.substr(7);
    }
    //remove "www."
    if (url.indexOf("www.") == 0) {
        url = url.substr(4);
    }
    domain = url.split('/')[0].split('.')[0]
    if (url.split('/').length > 1) {
        page = url.split('/')[1].split('.')[0];
    }
    document.write("domain : " + domain + 
      (page == "" ? "" : " page : " + page) + page + "<br/>");
}

breakDownURL("www.myWebSite.com"); // domain : myWebSite
breakDownURL("http://myWebSite.com"); // domain : myWebSite
breakDownURL("myWebSite.com/xxx.html"); // domain : myWebSite page : xxx

答案 4 :(得分:0)

您可以在下面编写类似于我的函数的内容。

function getHostnameFromURI(url) {
    // Check slashes in URL
    if (url.indexOf('?') == -1 && !url.endsWith('/') || url.indexOf('#') == -1 && !url.endsWith('/')) {
        url += '/';
    }
    
    let start = url.indexOf('://')+3;
    let end = url.indexOf('/', start);

    let domain = url.slice(start, end);
    
    // Remove port specification from the URL
    if (domain.indexOf(':') != -1) {
        domain = domain.slice(0, domain.indexOf(':'));
    }

    return domain;
}

它可以在 localhost、.co.uk 等域中正常工作。

https://stackoverflow.com/opensearch.xml --> stackoverflow.com

https://github.com/arichr --> github.com

信息:请检查您的网址是否有误,例如https://example.com?a=a 将返回 example.com?a=a