【问题标题】:Get the domain and page name from a String URL从字符串 URL 获取域名和页面名称
【发布时间】:2011-07-17 15:06:17
【问题描述】:

嗯,我目前在处理 URL 时遇到了一些问题。

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

例如:

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

【问题讨论】:

    标签: javascript jquery regex


    【解决方案1】:
    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);
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        试试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
        

        【讨论】:

        • .march 应该是 .match
        【解决方案4】:

        我希望这会有所帮助:

        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
        

        【讨论】:

          【解决方案5】:
          var url = window.location.href;  //www.myWebSite.com/myWebSite
          var arr = url.split("/");
          var page = arr[arr.length-1];
          var domain = window.location.host;
          alert(domain);                  //www.myWebSite.com
          var n = page.includes("?");     // if www.myWebSite.com/myWebSite?parameter
          if(n)
          {
          var page_arr = page.split("?");
          var page = page_arr[0];        //myWebSite
          }
          alert(page);                   //myWebSite
          

          【讨论】:

            【解决方案6】:

            你可以在下面写我的函数。

            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

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2014-03-14
              • 1970-01-01
              • 2019-03-06
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多