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 获取链接(url)参数的方法
Feb 15 Javascript
js如何判断用户是否是用微信浏览器
Jun 05 Javascript
JavaScript italics方法入门实例(把字符串显示为斜体)
Oct 17 Javascript
JavaScript中原型链存在的问题解析
Sep 25 Javascript
AngularJS页面传参的5种方式
Apr 01 Javascript
vue轮播图插件vue-awesome-swiper的使用代码实例
Jul 10 Javascript
ReactNative Image组件使用详解
Aug 07 Javascript
JS简单生成由字母数字组合随机字符串示例
May 25 Javascript
ios设备中angularjs无法改变页面title的解决方法
Sep 13 Javascript
原生JS实现动态添加新元素、删除元素方法
May 05 Javascript
JQuery常用选择器功能与用法实例分析
Dec 23 jQuery
JS数组Reduce方法功能与用法实例详解
Apr 29 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模拟QQ登录的方法
2015/07/29 PHP
WordPress中用于获取搜索表单的PHP函数使用解析
2016/01/05 PHP
php 在字符串指定位置插入新字符的简单实现
2016/06/28 PHP
php对xml文件的增删改查操作实现方法分析
2017/05/19 PHP
PHP实现数组向任意位置插入,删除,替换数据操作示例
2019/04/05 PHP
PHP7 新增常量
2021/03/09 PHP
filemanage功能中用到的common.js
2007/04/08 Javascript
向左滚动文字 js代码效果
2013/08/17 Javascript
HTML5+setCutomValidity()函数验证表单实例分享
2015/04/24 Javascript
jQuery-1.9.1源码分析系列(十)事件系统之事件体系结构
2015/11/19 Javascript
基于RequireJS和JQuery的模块化编程——常见问题全面解析
2016/04/14 Javascript
javascript中href和replace的比较(详解)
2016/11/25 Javascript
Vue computed计算属性的使用方法
2017/07/14 Javascript
用jquery获取select标签中选中的option值及文本的示例
2018/01/25 jQuery
简单明了区分escape、encodeURI和encodeURIComponent
2018/05/26 Javascript
微信小程序数据统计和错误统计的实现方法
2019/06/26 Javascript
微信小程序实现图片选择并预览功能
2019/07/25 Javascript
微信小程序可滑动周日历组件使用详解
2019/10/21 Javascript
JS typeof fn === 'function' &amp;&amp; fn()详解
2020/08/22 Javascript
[01:14]DOTA2亚洲邀请赛 ShowOpen
2015/02/07 DOTA
[54:29]2018DOTA2亚洲邀请赛 4.7 淘汰赛 VP vs LGD 第二场
2018/04/09 DOTA
python交互式图形编程实例(三)
2017/11/17 Python
解决python "No module named pip" 的问题
2018/10/13 Python
对python同一个文件夹里面不同.py文件的交叉引用方法详解
2018/12/15 Python
python中嵌套函数的实操步骤
2019/02/27 Python
matplotlib实现区域颜色填充
2019/03/18 Python
详解Python中的正斜杠与反斜杠
2019/08/09 Python
pyftplib中文乱码问题解决方案
2020/01/11 Python
Python拼接字符串的7种方式详解
2020/03/19 Python
美国知名眼镜网站:Target Optical
2020/04/04 全球购物
历史专业学生的自我评价
2014/02/28 职场文书
2014年服装销售工作总结
2014/11/27 职场文书
地震慰问信
2015/02/14 职场文书
面试通知单大全
2015/04/20 职场文书
python中的装饰器该如何使用
2021/06/18 Python
Python万能模板案例之matplotlib绘制直方图的基本配置
2022/04/13 Python