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 相关文章推荐
JQuery 构建客户/服务分离的链接模型中Table中的排序分析
Jan 22 Javascript
无缝滚动js代码通俗易懂(自写)
Jun 19 Javascript
原生javaScript做得动态表格(注释写的很清楚)
Dec 29 Javascript
TypeError document.getElementById(...) is null错误原因
May 18 Javascript
AngularJS中的$watch(),$digest()和$apply()区分
Apr 04 Javascript
AngularJS入门教程之模块化操作用法示例
Nov 02 Javascript
AngularJS中指令的四种基本形式实例分析
Nov 22 Javascript
微信小程序-小说阅读小程序实例(demo)
Jan 12 Javascript
在小程序Canvas中使用measureText的方法示例
Oct 19 Javascript
通过JS运行机制的角度说说作用域
Mar 12 Javascript
微信小程序如何实现radio单选框单击打勾和取消
Jan 21 Javascript
浅谈 JavaScript 沙箱Sandbox
Nov 02 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 array_push 数组函数
2009/12/26 PHP
PHP缓存机制Output Control详解
2014/07/14 PHP
php使用cookie实现记住用户名和密码实现代码
2015/04/27 PHP
php防止网站被攻击的应急代码
2015/10/21 PHP
Docker搭建自己的PHP开发环境
2018/02/24 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
2020/02/28 PHP
jquery入门必备的基本认识及实例(整理)
2013/06/24 Javascript
基于javascript实现文字无缝滚动效果
2016/03/22 Javascript
js制作支付倒计时页面
2016/10/21 Javascript
Parcel 打包示例(React HelloWorld)
2018/01/16 Javascript
微信小程序实现MUI数字输入框效果
2018/01/31 Javascript
vue系列之requireJs中引入vue-router的方法
2018/07/18 Javascript
解决vue-cli单页面手机应用input点击手机端虚拟键盘弹出盖住input问题
2018/08/25 Javascript
JS使用canvas中的measureText方法测量字体宽度示例
2019/02/02 Javascript
小程序实现列表多个批量倒计时
2021/01/29 Javascript
webpack自动打包和热更新的实现方法
2019/06/24 Javascript
keep-alive不能缓存多层级路由菜单问题解决
2020/03/10 Javascript
vue下拉刷新组件的开发及slot的使用详解
2020/12/23 Vue.js
50行Python代码实现人脸检测功能
2018/01/23 Python
Python 3.7新功能之dataclass装饰器详解
2018/04/21 Python
python实现linux下抓包并存库功能
2018/07/18 Python
浅谈PySpark SQL 相关知识介绍
2019/06/14 Python
翻转数列python实现,求前n项和,并能输出整个数列的案例
2020/05/03 Python
python批量生成条形码的示例
2020/10/10 Python
CSS3 @keyframes简单动画实现
2018/02/24 HTML / CSS
时装界的“朋克之母”:Vivienne Westwood
2017/07/06 全球购物
在网上学习全世界最好的课程:Coursera
2017/11/07 全球购物
GIVENCHY纪梵希官方旗舰店:高定彩妆与贵族护肤品
2018/04/16 全球购物
"火柴棍式"程序员面试题
2014/03/16 面试题
汉语言文学毕业生自荐信范文
2014/03/24 职场文书
买卖合同协议书范本
2014/10/18 职场文书
2014年班级工作总结范文
2014/12/23 职场文书
学习焦裕禄观后感
2015/06/09 职场文书
工作收入证明模板
2015/06/12 职场文书
火锅店的开业营销方案范本!
2019/07/05 职场文书
什么是css原子化,有什么用?
2022/04/24 HTML / CSS