js通过a标签解析url

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用
/*
* @function: 通过a标签解析url标签
* @param:url  url参数是字符串,解析的目标
  通过IE6-9 chrome  Firefox测试
*
*/
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('/') //路径片段
  };
}

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇: 常用的JavaScript验证正则表达式

下一篇:MD5加密算法Java代码