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学习笔记(十七)js 优化
Feb 04 Javascript
JQuery中getJSON的使用方法
Dec 13 Javascript
Javascript添加监听与删除监听用法详解
Dec 19 Javascript
JS判断网页广告是否被浏览器拦截过滤的代码
Apr 05 Javascript
浅谈Javascript数组索引
Jul 29 Javascript
Vue.js每天必学之计算属性computed与$watch
Sep 05 Javascript
DOM 事件的深入浅出(二)
Dec 05 Javascript
jQuery获取table表中的td标签(实例讲解)
Jul 28 jQuery
vue-cli 自定义指令directive 添加验证滑块示例
Oct 19 Javascript
35个最好用的Vue开源库(史上最全)
Jan 03 Javascript
react用Redux中央仓库实现一个todolist
Sep 29 Javascript
JS时间戳与日期格式互相转换的简单方法示例
Jan 30 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数学运算
2011/12/30 PHP
php each 返回数组中当前的键值对并将数组指针向前移动一步实例
2016/11/22 PHP
php中html_entity_decode实现HTML实体转义
2018/06/13 PHP
php 中的信号处理操作实例详解
2020/03/04 PHP
javascript引导程序
2008/10/26 Javascript
javascript 避免闭包引发的问题
2009/03/17 Javascript
js parsefloat parseint 转换函数
2010/01/21 Javascript
Javascript Function对象扩展之延时执行函数
2010/07/06 Javascript
简短几句jquery代码的实现一个图片向上滚动切换
2011/09/02 Javascript
jQuery EasyUI API 中文文档 - Draggable 可拖拽
2011/09/29 Javascript
各种页面定时跳转(倒计时跳转)代码总结
2013/10/24 Javascript
Jquery设置attr的disabled属性控制某行显示或者隐藏
2014/09/25 Javascript
javascript获取四位数字或者字母的随机数
2015/01/09 Javascript
有关easyui-layout中的收缩层无法显示标题的解决办法
2016/05/10 Javascript
AngularJS中的按需加载ocLazyLoad示例
2017/01/11 Javascript
Flask中获取小程序Request数据的两种方法
2017/05/12 Javascript
详解Vue微信公众号开发踩坑全记录
2017/08/21 Javascript
详解Vue Elememt-UI构建管理后台
2018/02/27 Javascript
Vue项目中最新用到的一些实用小技巧
2018/11/06 Javascript
使用node搭建自动发图文微博机器人的方法
2019/03/22 Javascript
原生javascript制作贪吃蛇小游戏的方法分析
2020/02/26 Javascript
如何解决django配置settings时遇到Could not import settings 'conf.local'
2014/11/18 Python
Python中Iterator迭代器的使用杂谈
2016/06/20 Python
python读取Excel实例详解
2018/08/17 Python
python 生成器和迭代器的原理解析
2019/10/12 Python
python3 requests库实现多图片爬取教程
2019/12/18 Python
Python打包模块wheel的使用方法与将python包发布到PyPI的方法详解
2020/02/12 Python
Python操作Elasticsearch处理timeout超时
2020/07/17 Python
统计学专业毕业生的自我评价分享
2013/11/28 职场文书
小学家长会邀请函
2014/01/23 职场文书
和解协议书
2014/04/16 职场文书
经济贸易系求职信
2014/08/04 职场文书
长城导游词
2015/01/30 职场文书
django学习之ajax post传参的2种格式实例
2021/05/14 Python
这样写python注释让代码更加的优雅
2021/06/02 Python
《Estab Life》4月6日播出 正式PV、主视觉图公开
2022/03/20 日漫