JavaScript解析URL GET请求参数的两种常用方法

作者:拾光

时间:2026-10-23

浏览:174

本文介绍在JavaScript中解析URL GET请求参数的两种实现方式。第一种利用正则表达式匹配特定参数,第二种通过分割字符串构建完整参数对象。文章提供了具体的代码示例,帮助开发者理解如何从URL字符串中提取键值对并转换为对象格式,适用于前端开发中的常见需求。

文章目录

题目

题目要求与背景

请编写一个JavaScript函数,用于接收URL中GET请求携带的参数,并将其转换为对象格式返回。

例如:var url = “https://i.cnblogs.com/EditPosts.aspx?opt=1”。

本题主要考察JavaScript如何获取URL字符串,以及对字符串进行处理的技巧。

1. 首先想到的方法是使用正则表达式。

方法一:使用正则表达式


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;
}

2. 另一种方法是利用数组相关方法进行处理。

方法二:利用数组分割字符串


*-----------------实现1--------------------*/
function GetRequest() {
var url = location.search; //获取url中"?"符后的字串
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;
}
/*--------------------实现2(返回 $_GET 对象, 仿PHP模式)----------------------*/
var $_GET = (function(){
var url = window.document.location.href.toString();
var u = url.split("?");
if(typeof(u[1]) == "string"){
u = u[1].split("&");
var get = {};
for(var i in u){
var j = u[i].split("=");
get[j[0]] = j[1];
}
return get;
} else {
return {};
}
})();
/*第2种方式, 使用时, 可以直接 $_GET['get参数'], 就直接获得GET参数的值*/

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

实用工具推荐

电子包浆

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

使用 ›
图片压缩

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

使用 ›
相关文章