获取页面的url及参数
(一)页面获取对应参数
通过正则匹配获取:
function getUrlParam (partName) { var reg = new RegExp('(^|&)' + partName + '=([^&]*)(&|$)', 'i'); var r = window.location.search.substr(1).match(reg); if (r != null) { return unescape(r[2]); } return null; } //https://cdn.demo.com/index.html#/?gameid=1024&posid=996&autoopenpage=true getUrlParam("gameid"); // 1024 getUrlParam("posid"); // 996 getUrlParam("autoopenpage"); // true getUrlParam("nothing"); // ''
通过location上的search方法和URLSearchParams,支持所有模式
function getUrlParam(name) { let qs = arguments[1] || location.search.length > 0 ? location.search.substring(1) : '', args = {}; let searchParams = new URLSearchParams(qs); return searchParams.get(name) ? searchParams.get(name) : ''; }; //https://cdn.demo.com/index.html?gameid=1024&posid=996&autoopenpage=true getUrlParam("gameid"); // 1024 getUrlParam("posid"); // 996 getUrlParam("autoopenpage"); // true getUrlParam("nothing"); // ''
通过location上的search方法,支持所有模式
function getUrlParam(name, url) { let qs = arguments[1] || loaction.search.length > 0 ? location.search.substring(1) : '', args = {}; for(let item of qs.split("&").map(val => val.split("="))) { return name == item[0] ? item[1] : ''; }; }; //https://cdn.demo.com/index.html?gameid=1024&posid=996&autoopenpage=true getUrlParam("gameid"); // 1024 getUrlParam("posid"); // 996 getUrlParam("autoopenpage"); // true getUrlParam("nothing"); // ''
(二)传递参数时,中文乱码解决
传参编码形式:
window.location.href = 'index.html?contentA='+encodeURI(中文)
window.location.href = 'index.html?contentA='+encodeURI(encodeURI(中文))
一般情况进行1次编码,如果不行则进行2次编码
接收页面解码形式:
decodeURI(window.location.href)
参考地址: 获取页面的url及参数
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!