与
ESC
输入关键词搜索文章

jquery、javascript获取地址栏url参数的方法

全文约 330 字预计阅读 2 分钟
首先看看单纯的通过javascript是如何来获取url中的某个参数 function getQueryString(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中的参数名就可以获取到参数的值,比如url为 http://www.netpc.com.cn/?name=测试&num=100 我们要获取name的值,可以这样写: alert(getQueryString('name')); 接下来jquery: (function ($) { $.getQueryString= function (name) { var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if(r!=null)return decodeURI(r[2]); return null; } })(jQuery); 调用方法:var x = $.getQueryString('num'); 如果上面decodeURI 使用的是unescape那么中文就会乱码。 附: W3School中的介绍:

JavaScript unescape() 函数

定义和用法

unescape() 函数可对通过 escape() 编码的字符串进行解码。
参数 描述
string 必需。要解码或反转义的字符串。
 

说明

该函数的工作原理是这样的:通过找到形式为 %xx 和 %uxxxx 的字符序列(x 表示十六进制的数字),用 Unicode 字符 \u00xx 和 \uxxxx 替换这样的字符序列进行解码。

提示和注释

注释:ECMAScript v3 已从标准中删除了 unescape() 函数,并反对使用它,因此应该用 decodeURI() 和 decodeURIComponent() 取而代之。

  综上: javascript对参数编码解码方法要一致: escape()   unescape() encodeURI()   decodeURI() encodeURIComponent()    decodeURIComponent()
jquery、javascript获取地址栏url参数的方法
分享

发表评论

评论 0 条

暂无评论,来说点什么吧。