您的位置:首页 > Web前端 > JavaScript

js获取url中的中文参数出现乱码解决方法

2017-06-16 21:23 615 查看
从网上copy的获取url参数的方法

function getUrlParam(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
var r = window.location.search.substr(1).match(reg); //匹配目标参数
if(r != null) return unescape(r[2]);
return null; //返回参数值
}


但是在使用的过程中,发现其在获取中文参数的时候,获取到的值是乱码的

解决办法:将解码方式unscape换为decodeURI

原因:浏览器会将url中的中文参数进行encodeURI编码,所以要通过js使用decodeURI进行解码

function getUrlParam(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
var r = window.location.search.substr(1).match(reg); //匹配目标参数
if(r != null) return decodeURI(r[2]);
return null; //返回参数值
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  url 乱码 javascript