zoukankan      html  css  js  c++  java
  • 利用a标签自动解析URL

    对于window.location,我们比较熟悉,它有protocol,hostname,host,port,search,hash,href,pathname等属性,a标签也和window.location一样,也有这样属性,这样可以方便我们分析网址,闲话少说,上代码。

    function parseURL(url) {
        var a =  document.createElement('a');
        a.href = url;
        return {
            source: url,
            protocol: a.protocol.replace(':',''),
            host: a.hostname,
            port: a.port||'80',
            query: a.search,
            params: (function(){
                var ret = {},
                    seg = a.search.replace(/^?/,'').split('&'),
                    len = seg.length, i = 0, s;
                for (;i<len;i++) {
                    if (!seg[i]) { continue; }
                    s = seg[i].split('=');
                    ret[s[0]] = s[1];
                }
                return ret;
            })(),
            file: (a.pathname.match(//([^/?#]+)$/i) || [,''])[1],
            hash: a.hash.replace('#',''),
            path: a.pathname.replace(/^([^/])/,'/$1'),
            relative: (a.href.match(/tps?://[^/]+(.+)/) || [,''])[1],
            segments: a.pathname.replace(/^//,'').split('/')
        };
    }
    

      

    测试地址

    console.log(parseURL("http://www.w3school.com.cn/jsref/dom_obj_anchor.asp?type=2#id2"));

    结果如下

    复制代码
     1 {
     2     file: "dom_obj_anchor.asp",
     3     hash: "id2",
     4     host: "www.w3school.com.cn",
     5     params: {type: "2"},
     6     path: "/jsref/dom_obj_anchor.asp",
     7     port: "80",
     8     protocol: "http",
     9     query: "?type=2",
    10     relative: "/jsref/dom_obj_anchor.asp?type=2#id2",
    11     segments: [0: "jsref",1: "dom_obj_anchor.asp"],
    12     source: "http://www.w3school.com.cn/jsref/dom_obj_anchor.asp?type=2#id2"
    13 }
    复制代码
  • 相关阅读:
    Redis 再牛逼,也得设置密码!!
    Spring Data Redis 详解及实战一文搞定
    连接mysql
    angular6安装
    (6)ASP.NET HttpServerUtility 类
    (5)ASP.NET HttpResponse 类
    远程连接错误
    (3)一般处理程序 ,HttpContext类
    ASP.NET内置对象-状态管理
    (4)ASP.NET HttpRequest 类
  • 原文地址:https://www.cnblogs.com/sunshq/p/4037487.html
Copyright © 2011-2022 走看看