jQuery获取URL参数及解决中文乱码的两种实现方法

作者:开源拾贝

时间:2026-10-27

浏览:278

本文介绍在Web开发中通过URL传递参数的两种常见方法:基于正则表达式的参数提取与基于字符串分割的对象构建。重点讲解如何处理中文参数导致的乱码问题,包括发送端使用encodeURI编码与接收端使用decodeURI解码的具体代码实现,确保跨页面数据传递的准确性。

文章目录

正则分析法解析URL参数

当页面A通过URL向页面B传递参数时,可以使用以下两种方式来解析URL中的参数。


方法一:正则分析法

具体实现代码如下:

 
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"));

方法二:

字符串分割法解析URL参数

代码如下:

 
<span style="font-size: 16px;"><Script language="javascript">
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;
} 
</Script></span>

这样调用:

调用示例如下:

 
<Script language="javascript">
var Request = new Object();
Request = GetRequest();
var 参数1,参数2,参数3,参数N;
参数1 = Request['参数1'];
参数2 = Request['参数2'];
参数3 = Request['参数3'];
参数N = Request['参数N'];
</Script>

处理中文参数的编码与解码

若参数中包含中文字符,需注意进行编码与解码处理:


代码如下:

 
<span style="font-size:18px;">1.传参页面
Javascript代码:<script type="text/javascript">
function send(){
var url = "test01.html";
var userName = $("#userName").html();
window.open(encodeURI(url + "?userName=" + userName)); }
</script>
2. 接收参数页面:test02.html
<script>
var urlinfo = window.location.href;//获取url
var userName = urlinfo.split(“?”)[1].split(“=”)[1];//拆分url得到”=”后面的参数
$(“#userName”).html(decodeURI(userName));
</script></span>

实用工具推荐

电子包浆

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

使用 ›
图片压缩

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

使用 ›
相关文章