jquery url参数中文乱码问题怎么解决?下面本篇文章给大家介绍一下。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
Jquery获取URL中的参数,解决参数中文乱码的问题。
方法1://获取url中的参数
function getUrlParamCN(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
var r = decodeURI(window.location.search).substr(1).match(reg); //匹配目标参数
if (r != null) return unescape(r[2]); return null; //返回参数值
}
方法2:
一、传递参数页面.html
var name = 'abc'; //字符串英文
var num = 998; //数字
var cla= '电脑'; //中文
var _t = encodeURI(encodeURI(cla));
//中文需要进行两次encodeURI转码( encodeURI:把URI字符串采用UTF-8编码格式转化成escape格式的字符串。)
window.location.href = "../aa.html?name=" + name(字符串) + "&num=num (数字)" + "&cla=_t (中文)";
二、接收参数页面.html
(最终页面地址:../aa.html?name=abc&num=998&cla=%25E7%2594%25B5%25E8%2584%2591)
//获取地址参数
var _name = getQueryString("name");
var _num=getQueryString("num");
var _t = getQueryString("cla"); //此为中文参数,需转码
var title = decodeURI(_t); //只需要转一次码
console.log(title);//此处打印出来是中文。
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;
}
更多web前端知识,请查阅 HTML中文网 !!