js获取url中的参数,且中文参数不会出现乱码
在项目开发中,我们常会通过url传参,但是如果遇到中文获取就回乱码,如:传递参数中带有中文url?aaa=你好啊用js获取aaa并显示到页面上出现乱码。该怎么解决呢?
在项目开发中,我们常会通过url传参,但是如果遇到中文获取就回乱码,如:传递参数中带有中文url?aaa=你好啊
用js获取aaa并显示到页面上出现乱码。该怎么解决呢?
function getQueryString(key){
var reg = new RegExp("(^|&)"+key+"=([^&]*)(&|$)");
var result = window.location.search.substr(1).match(reg);
return result?decodeURIComponent(result[2]):null;
}
window.search取到的是queryString,如:?a=2&b=3
如url为:http://localhost/test/test.html?a=2&b=3
console.log(getQueryString('a'));//2
console.log(getQueryString('b'));//3
这里有个地方要说明:decodeURI() 与 encodeURI();decodeURIComponent() 与 encodeURIComponent() 配对使用
不出现乱码也是因为使用了 decodeURIComponent 函数,网上大部分的代码都没有进行中午乱码的处理。
版权声明
本站部分原创文章,部分文章整理自网络。如有转载的文章侵犯了您的版权,请联系站长删除处理。如果您有优质文章,欢迎发稿给我们!联系站长:
愿本站的内容能为您的学习、工作带来绵薄之力。
评论