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 相关文章推荐
Extjs gridpanel 出现横向滚动条问题的解决方法
Jul 04 Javascript
jquery如何实现锚点链接之间的平滑滚动
Dec 02 Javascript
Jquery api 速查表分享
Jan 12 Javascript
JavaScript中字符串(string)转json的2种方法
Jun 25 Javascript
JavaScript实现ASC转汉字及汉字转ASC的方法
Jan 23 Javascript
js css+html实现简单的日历
Jul 14 Javascript
jQuery插件FusionCharts绘制的2D双柱状图效果示例【附demo源码】
May 13 jQuery
vue2.0全局组件之pdf详解
Jun 26 Javascript
通过fastclick源码分析彻底解决tap“点透”
Dec 24 Javascript
浅谈Vue Element中Select下拉框选取值的问题
Mar 01 Javascript
微信小程序自定义tab实现多层tab嵌套功能
Jun 15 Javascript
PWA介绍及快速上手搭建一个PWA应用的方法
Jan 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
dedecms采集中可以过滤多行代码的正则表达式
2007/03/17 PHP
php 命名空间(namespace)原理与用法实例小结
2019/11/13 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
2020/02/27 PHP
基于jQuery的history历史记录插件
2010/12/11 Javascript
jQuery代码优化 选择符篇
2011/11/01 Javascript
js中document.getElementByid、document.all和document.layers区分介绍
2011/12/08 Javascript
基于jquery点击自以外任意处,关闭自身的代码
2012/02/10 Javascript
js获取对象为null的解决方法
2013/11/21 Javascript
仿淘宝TAB切换搜索框搜索切换的相关内容
2014/09/21 Javascript
js实现二代身份证号码验证详解
2014/11/20 Javascript
理解javascript回调函数
2014/12/28 Javascript
jQuery $.each遍历对象、数组用法实例
2015/04/16 Javascript
Vue表单验证插件的制作过程
2017/04/01 Javascript
Vue+Webpack完美整合富文本编辑器TinyMce的方法
2018/11/30 Javascript
详解服务端预渲染之Nuxt(介绍篇)
2019/04/07 Javascript
Python字符串和文件操作常用函数分析
2015/04/08 Python
Python基于回溯法子集树模板解决全排列问题示例
2017/09/07 Python
python3 pillow生成简单验证码图片的示例
2017/09/19 Python
Python系统监控模块psutil功能与经典用法分析
2018/05/24 Python
python实现推箱子游戏
2020/03/25 Python
Python操作SQLite数据库过程解析
2019/09/02 Python
Python利用Scrapy框架爬取豆瓣电影示例
2020/01/17 Python
解决python使用list()时总是报错的问题
2020/05/05 Python
Python如何脚本过滤文件中的注释
2020/05/27 Python
Python基于os.environ从windows获取环境变量
2020/06/09 Python
纯HTML5+CSS3制作图片旋转
2016/01/12 HTML / CSS
CSS3实现菜单悬停效果
2020/11/17 HTML / CSS
美国受欢迎的眼影品牌:BH Cosmetics
2016/10/25 全球购物
莱德杯高尔夫欧洲官方商店:Ryder Cup Shop
2019/08/14 全球购物
戴尔新加坡官网:Dell Singapore
2020/12/13 全球购物
服装公司总经理岗位职责
2013/11/30 职场文书
村干部四风问题整改措施
2014/09/30 职场文书
自荐信怎么写
2015/03/04 职场文书
党风廉政建设个人总结
2015/03/06 职场文书
建国大业观后感
2015/06/01 职场文书
Mysql中调试存储过程最简单的方法
2021/06/30 MySQL