美文网首页
通过创建a标签的方式来解析url字符串

通过创建a标签的方式来解析url字符串

作者: 桃木子不言 | 来源:发表于2021-06-17 19:49 被阅读0次
    /*
    * @function: 通过a标签解析url标签
    * @param:url  url参数是字符串,解析的目标
    */
    function parseURL(url) {
      //创建一个a标签
      var a = document.createElement('a');
    
      //将url赋值给标签的href属性。
      a.href = url;
    
      return {
        source: url,
        protocol: a.protocol.replace(':', ''), // 协议
        host: a.hostname,   // 主机名称
        port: a.port,   // 端口
        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('/') // 路径片段
      };
    }
    

    相关文章

      网友评论

          本文标题:通过创建a标签的方式来解析url字符串

          本文链接:https://www.haomeiwen.com/subject/hythyltx.html