JavaScript获取URL查询参数的4种实现方案
本文详细讲解在JavaScript中获取URL查询字符串参数的四种方法。包括利用正则表达式匹配的单参数获取、通过split拆分解析多参数对象、优化后的正则处理以及针对单个参数的简化逻辑。每种方法均提供完整代码示例,适用于不同场景下的前端参数解析需求。
正则表达式匹配法
方案一:正则表达式解析
代码示例如下:
function getQueryString(name) {
var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
var r = window.location.search.substr(1).match(reg);
if (r != null) {
return unescape(r[2]);
}
return null;
}
// 调用示例:
alert(GetQueryString("参数名1"));
alert(GetQueryString("参数名2"));
alert(GetQueryString("参数名3"));方案二:split分割法
字符串拆分解析法
代码示例如下:
function GetRequest() {
var url = location.search; // 提取问号后的字符串
var theRequest = new Object();
if (url.indexOf("?") != -1) {
var str = url.substr(1);
strs = str.split("&");
for(var i = 0; i < strs.length; i ++) {
theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
}
}
return theRequest;
}
var Request = new Object();
Request = GetRequest();
// 定义参数1,参数2,参数3,参数N;
// 参数1 = Request['参数1'];
// 参数2 = Request['参数2'];
// 参数3 = Request['参数3'];
// 参数N = Request['参数N'];
优化版正则处理
方案三:正则再次应用 利用JS提取URL参数,此操作十分常见。例如URL:http://wwww.jb51.net/?q=js,欲获取q的值,可调用以下函数实现。
代码示例如下:
function GetQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg); // 提取问号后字符串并进行正则匹配
var context = "";
if (r != null)
context = r[2];
reg = null;
r = null;
return context == null || context == "" || context == "undefined" ? "" : context;
}
alert(GetQueryString("q"));
单参数简化获取
方案四:单一参数提取法
function GetRequest() { var url = location.search; // 提取问号后的字符串 if (url.indexOf("?") != -1) { // 检查是否存在参数 var str = url.substr(1); // 从索引1开始截取,因索引0为问号,获取问号后所有字符 strs = str.split("="); // 以等号分隔(已知仅一个参数,故直接分隔;若含多参数需用&分隔后再处理) alert(strs[1]); // 直接输出首个参数(若含多参数需循环处理) } }
JavaScript闭包与类(Class)的区别及适用场景对比
2026-11-05 15:48:57
JavaScript入门要学ES6吗?let与箭头函数等新特性解析
2026-11-05 14:49:16
JavaScript 8种数据类型详解:基本类型与引用类型的区别
2026-11-05 14:25:15
怎么在JavaScript中使用async/await优化Ajax异步流程
2026-11-05 13:56:15
JavaScript replace回调函数实现动态正则替换逻辑
2026-11-05 13:52:13
