获取地址栏参数 - queryString(正则表达式版本)
获取所有query string
function queryStringAll(src){ src = src || location.search || location.hash; var reg = /[?&]([^?&=]+)=([^?&=]*)/g, res, obj = {}; while(res = reg.exec(src)){ obj[res[1]] = res[2] == null ? undefined : decodeURIComponent(res[2]); } return obj; }
replace版本的会更简洁一些,replace做正则匹配,可以收集结果,比exec要简洁一些,详细的replace用法,可参考详解JS正则replace的使用方法
function queryStringAll(src){ src = src || location.search || location.hash; let res = {}; src.replace(/[?&]([^?&=]+)=([^?&=]*)/g, (rs,$1,$2) => { res[$1] = $2; }) return res; }
获取指定name的query string
function queryString(key,src){ src = src || location.search || location.hash; var reg = new RegExp('[?&]' + key + '=([^?&=]*)(?=&|$)'), match = reg.exec(src); return match == null ? null : decodeURIComponent(match[1]); }
现在已经不用考虑兼容IE,使用URLSearchParams是更简便的方法
let p = new URLSearchParams(location.search) p.get(参数名) let p = new URLSearchParams() p.set('a', 1) p.set('b', 2) p.toString() //得到 a=1&b=2,一个反转操作,可得到queryString
无需进行判断,URLSearchParams已经处理了边界情况
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具