location.search 转换为 JS 对象

本文介绍了一种使用JavaScript解析URL中查询字符串的方法,通过一个具体的函数实现,能够将复杂的URL参数转换为易于操作的对象形式,方便网页应用进行参数处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

"use strict";

var searchObj = function searchObj(search) {
  return JSON.parse("{\"".concat(decodeURIComponent(search.substring(1)).replace(/"/g, '\\"').replace(/&/g, '","').replace(/=/g, '":"'), "\"}"));
};

假如请求url为

https://www.baidu.com?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=js&rsv_pq=a86b5e5f0007bceb&rsv_t=1e1fAVan%2BVlnkhJHFB0BIGLdLM2slszYMJBTTfFkmyyBUzBpw0ggeuVDE50&rqlang=cn&rsv_enter=0&inputT=1287&rsv_sug3=5&rsv_sug1=3&rsv_sug7=101&rsv_sug2=0&rsv_sug4=1907

那么 window.location.search 就为:

let search = ‘?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=js&rsv_pq=a86b5e5f0007bceb&rsv_t=1e1fAVan%2BVlnkhJHFB0BIGLdLM2slszYMJBTTfFkmyyBUzBpw0ggeuVDE50&rqlang=cn&rsv_enter=0&inputT=1287&rsv_sug3=5&rsv_sug1=3&rsv_sug7=101&rsv_sug2=0&rsv_sug4=1907’

调用

searchObj(search)

结果

  {
	ie: "utf-8", f: "8", rsv_bp: "1", rsv_idx: "1", tn: "baidu",
	f: "8"
	ie: "utf-8"
	inputT: "1287"
	rqlang: "cn"
	rsv_bp: "1"
	rsv_enter: "0"
	rsv_idx: "1"
	rsv_pq: "a86b5e5f0007bceb"
	rsv_sug1: "3"
	rsv_sug2: "0"
	rsv_sug3: "5"
	rsv_sug4: "1907"
	rsv_sug7: "101"
	rsv_t: "1e1fAVan+VlnkhJHFB0BIGLdLM2slszYMJBTTfFkmyyBUzBpw0ggeuVDE50"
	tn: "baidu"
	wd: "js"
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值