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 相关文章推荐
combox改进版 页面原型参考dojo的,比网上jQuery的那些combox功能强,代码更小
Apr 15 Javascript
通过location.replace禁止浏览器后退防止重复提交
Sep 04 Javascript
JavaScript中toString()方法的使用详解
Jun 05 Javascript
JS实现网页上随机产生超链接地址的方法
Nov 09 Javascript
基于jQuery实现弹出可关闭遮罩提示框实例代码
Jul 18 Javascript
基于BootStrap栅格栏系统完成网站底部版权信息区
Dec 23 Javascript
vuejs绑定class和style样式
Apr 11 Javascript
javascript 中的继承实例详解
May 05 Javascript
详解mpvue开发小程序小总结
Jul 25 Javascript
零基础之Node.js搭建API服务器的详解
Mar 08 Javascript
Layui表格监听行单双击事件讲解
Nov 14 Javascript
JavaScript简易计算器制作
Jan 17 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
php购物网站支付paypal使用方法
2010/11/28 PHP
php调用方法mssql_fetch_row、mssql_fetch_array、mssql_fetch_assoc和mssql_fetch_objcect读取数据的区别
2012/08/08 PHP
php连接MSsql server的五种方法总结
2018/03/04 PHP
Js之软键盘实现(js源码)
2007/01/30 Javascript
JQUERY复选框CHECKBOX全选,取消全选
2008/08/30 Javascript
jquery中对于批量deferred的处理方法
2014/01/22 Javascript
jquery禁止输入数字以外的字符的示例(纯数字验证码)
2014/04/10 Javascript
jQuery判断复选框是否勾选的原理及示例
2014/05/21 Javascript
JS+CSS实现带关闭按钮DIV弹出窗口的方法
2015/02/27 Javascript
获取阴历(农历)和当前日期的js代码
2016/02/15 Javascript
js实现下拉框效果(select)
2017/03/28 Javascript
JS实现分页浏览横向图片(类轮播)实例代码
2017/11/06 Javascript
vue-cli扩展多模块打包的示例代码
2018/04/09 Javascript
解决vue keep-alive 数据更新的问题
2018/09/21 Javascript
原生js基于canvas实现一个简单的前端截图工具代码实例
2019/09/10 Javascript
vue2.0 解决抽取公用js的问题
2020/07/31 Javascript
python实现域名系统(DNS)正向查询的方法
2016/04/19 Python
python opencv设置摄像头分辨率以及各个参数的方法
2018/04/02 Python
python TF-IDF算法实现文本关键词提取
2019/05/29 Python
Flask框架学习笔记之路由和反向路由详解【图文与实例】
2019/08/12 Python
在Python中使用filter去除列表中值为假及空字符串的例子
2019/11/18 Python
python中的错误如何查看
2020/07/08 Python
Python爬取豆瓣数据实现过程解析
2020/10/27 Python
搭建pypi私有仓库实现过程详解
2020/11/25 Python
Python Socket多线程并发原理及实现
2020/12/11 Python
python3.9实现pyinstaller打包python文件成exe
2020/12/13 Python
美国在线珠宝商店:SZUL
2017/02/11 全球购物
护士见习期自我鉴定
2014/02/08 职场文书
逃课上网检讨书
2014/02/20 职场文书
难忘的一天教学反思
2014/04/30 职场文书
在校大学生自我评价范文
2014/09/12 职场文书
2014年小学国庆节活动方案
2014/09/16 职场文书
领导班子个人查摆问题对照检查材料
2014/10/02 职场文书
售后服务承诺函格式
2015/01/21 职场文书
专项资金申请报告
2015/05/15 职场文书
走进毛泽东观后感
2015/06/04 职场文书