JavaScript QueryString解析类代码


Posted in Javascript onJanuary 17, 2010

使用示例:

var qs = new QueryString(query); 
qs.set("ajaxids", ids) 
qs.set("ajaxsn", new Date()) 
query = qs.toStr();

也可以连续调用:
query = new QueryString(query).set("ajaxids", ids).set("ajaxsn", new Date()).toStr();

其它用法就自己看代码琢磨吧。
完整代码:
QueryString = function(qs){ 
    this.p={}; 
    if(!qs) 
        url=location.search; 
    if(qs) { 
        var b = qs.indexOf('?'); 
        var e = qs.indexOf('#'); 
        if(b >= 0){ 
            qs = e < 0 ? qs.substr(b + 1) : qs.substring(b + 1,e); 
            if(qs.length > 0){ 
                qs = qs.replace(/\+/g, ' '); 
                var a = qs.split('&'); 
                for (var i = 0; i < a.length; i++) { 
                    var t = a[i].split('='); 
                    var n = decodeURIComponent(t[0]); 
                    var v = (t.length == 2) ? decodeURIComponent(t[1]) : n; 
                    this.p[n] = v; 
                } 
            } 
        } 
    } 
    this.set = function(name, value){ 
        this.p[name] = value; 
        return this; 
    }; 
    this.get = function(name, def){ 
        var v = this.p[name]; 
        return (v != null) ? v : def; 
    }; 
    this.has = function(name) { 
        return this.p[name] != null; 
    }; 
    this.toStr = function() { 
        var r='?'; 
        for (var k in this.p) { 
            r += encodeURIComponent(k) + '=' + encodeURIComponent(this.p[k]) + '&'; 
        } 
        return r; 
    }; 
};
Javascript 相关文章推荐
javascript 学习笔记(六)浏览器类型及版本信息检测代码
Apr 08 Javascript
一个js导致的jquery失效问题的解决方法
Nov 27 Javascript
jquery如何根据值设置默认的选中项
Mar 17 Javascript
深入分析escape()、encodeURI()、encodeURIComponent()的区别及示例
Aug 04 Javascript
页面加载完后自动执行一个方法的js代码
Sep 06 Javascript
JS禁用页面上所有控件的实现方法(附demo源码下载)
Dec 17 Javascript
jquery validation验证表单插件
Jan 07 Javascript
jquery仿京东商品放大浏览页面
Jun 06 jQuery
微信小程序实现tab页面切换功能
Jul 13 Javascript
react国际化化插件react-i18n-auto使用详解
Mar 31 Javascript
Vue循环遍历选项赋值到对应控件的实现方法
Jun 22 Javascript
解决VUE mounted 钩子函数执行时 img 未加载导致页面布局的问题
Jul 27 Javascript
屏蔽Flash右键信息的js代码
Jan 17 #Javascript
JavaScript学习笔记(十)
Jan 17 #Javascript
AJAX的跨域与JSONP(为文章自动添加短址的功能)
Jan 17 #Javascript
前淘宝前端开发工程师阿当的PPT中有JS技术理念问题
Jan 15 #Javascript
20个非常有用的PHP类库 加速php开发
Jan 15 #Javascript
javascript 特性检测并非浏览器检测
Jan 15 #Javascript
javascript 构建一个xmlhttp对象池合理创建和使用xmlhttp对象
Jan 15 #Javascript
You might like
杏林同学录(七)
2006/10/09 PHP
PHP中__get()和__set()的用法实例详解
2013/06/04 PHP
thinkphp学习笔记之多表查询
2014/07/28 PHP
php导入excel文件到mysql数据库的方法
2015/01/14 PHP
讲解WordPress中用于获取评论模板和搜索表单的PHP函数
2015/12/28 PHP
完美解决在ThinkPHP控制器中命名空间的问题
2017/05/05 PHP
爆炸式的JS圆形浮动菜单特效代码
2010/03/03 Javascript
JavaScript两种跨域技术全面介绍
2014/04/16 Javascript
jQuery中element选择器用法实例
2014/12/29 Javascript
javascript解三阶幻方(九宫格)
2015/04/22 Javascript
Jquery Ajax Error 调试错误的技巧
2015/11/20 Javascript
Bootstrap每天必学之附加导航(Affix)插件
2016/04/25 Javascript
JS获取复选框的值,并传递到后台的实现方法
2016/05/30 Javascript
使用ionic(选项卡栏tab) icon(图标) ionic上拉菜单(ActionSheet) 实现通讯录界面切换实例代码
2017/10/20 Javascript
React路由鉴权的实现方法
2019/09/05 Javascript
JS实现点击下拉列表文本框中出现对应的网址,点击跳转按钮实现跳转
2019/11/25 Javascript
Python实现将绝对URL替换成相对URL的方法
2015/06/28 Python
在Django框架中编写Contact表单的教程
2015/07/17 Python
Python中标准模块importlib详解
2017/04/16 Python
Django中针对基于类的视图添加csrf_exempt实例代码
2018/02/11 Python
Python面向对象基础入门之设置对象属性
2018/12/11 Python
python五子棋游戏的设计与实现
2019/06/18 Python
如何使用Python标准库进行性能测试
2019/06/25 Python
Python Selenium安装及环境配置的实现
2020/03/17 Python
Python2及Python3如何实现兼容切换
2020/09/01 Python
python中time包实例详解
2021/02/02 Python
JD Sports瑞典:英国领先的运动时尚商店
2018/01/28 全球购物
英国最受欢迎的价格比较网站之一:MoneySuperMarket
2018/12/19 全球购物
路德维希•贝克(LUDWIG BECK)中文官网:德国大型美妆百货
2020/09/19 全球购物
本科生详细的自我评价
2013/09/19 职场文书
工业学校毕业生自荐信范文
2014/01/03 职场文书
离婚协议书范本及离婚须知
2014/10/15 职场文书
思想作风建设心得体会
2014/10/22 职场文书
六一领导慰问欢迎词
2015/01/26 职场文书
运动会开幕式通讯稿
2015/07/18 职场文书
一文搞懂Java中的注解和反射
2022/06/21 Java/Android