js通过a标签解析url详解编程语言

/* 
* @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(/^([^//])/,'/\'), //路径 
    relative: (a.href.match(/tps?:////[^//]+(.+)/) || [,''])[1],  //相对路径 
    segments: a.pathname.replace(/^///,'').split('/') //路径片段 
  }; 
} 

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/8684.html

(0)
上一篇 2021年7月18日
下一篇 2021年7月18日

相关推荐

发表回复

登录后才能评论