昨天网站上用js获取URL参数,然后拼接链接适应手机端,但是发现一个新问题,PC端获取了URL中文参数去手机端就会乱码了。今天就研究下解决js获取URL参数中文参数显示乱码的问题。
解决办法:采用decodeURI进行解码
之前用的方法只支持英文是这样写的。
<script language="javascript"> function getQuery(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; } </script>
改成下面的写法就可以既支持中文,也支持英文了。
<script language="javascript"> function getQuery(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = _window.location.search.substr(1).match(reg); if (r != null) return decodeURI(r[2]); return null; } </script>
如果内容有帮助,就点个赞吧!