JavaScript获取URL查询参数的4种实现方案

作者:半夏

时间:2026-10-29

浏览:644

本文详细讲解在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]); // 直接输出首个参数(若含多参数需循环处理) } }

 

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章