获取 url 并解析生成包含查询串参数的对象

页面的 URL 地址可以通过 location.url 取得,举个例子,比如 https://www.example.com/path?name1=value1&name2=value2#top

这时根据 URL 中的 ?#& 特征字符,充分利用好 split() 字符串分割方法将整个 URL 逐渐剥离成以查询串参数组成的数组,最后还是使用 split() 方法根据 = 字符分割出查询串参数的 keyvalue

注意要对查询串参数进行解码(decode),因为 URL 中可能会有被编码过的特殊字符。

// 通过 location.url 属性获取 url,下面是个示例
var url = 'https://www.example.com/path?name1=value1&name2=value2#top';
function parseQueryStr (url) {
  var arr = url.split('?'),
      res = {};
  if (!arr[1]) {
    return res;
  }
  var tempArr = arr[1].split('#')[0].split('&');
  tempArr.forEach(function (item) {
    var query = item.split('=');
    res[decodeURIComponent(query[0])] = decodeURIComponent(query[1]);
  });
  return res;
}
console.log(parseQueryStr(url));    // {name1: "value1", name2: "value2"}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、快捷键 ctr+b 执行ctr+/ 单行注释ctr+c ...
    o_8319阅读 5,866评论 2 16
  • 前言 最先接触编程的知识是在大学里面,大学里面学了一些基础的知识,c语言,java语言,单片机的汇编语言等;大学毕...
    oceanfive阅读 3,150评论 0 7
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,270评论 0 4
  • 01 没有人是一座孤岛 没有什么事情是孤立的,人也一样。再独立的人也需要交际,需要友谊。要想走的远,那就结伴而行。...
    马小奔aben阅读 180评论 0 2
  • 文/瑶人柴 如果你爱我, 请主动联系我, 我受不了冷落。 如果你爱我, 请不要暧昧, 真爱怎么会舍得暧昧。 如果你...
    瑶人柴阅读 287评论 0 3