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插件 tabBox实现代码
Feb 09 Javascript
jquery新的绑定事件机制on方法的使用方法
Apr 15 Javascript
JQUERY实现网页右下角固定位置展开关闭特效的方法
Jul 27 Javascript
Bootstrap每天必学之基础排版
Nov 20 Javascript
JS把内容动态插入到DIV的实现方法
Jul 19 Javascript
微信小程序 页面传值详解
Mar 10 Javascript
用JavaScript和jQuery实现瀑布流
Mar 19 Javascript
bootstrap 设置checkbox部分选中效果
Apr 20 Javascript
Vue实现美团app的影院推荐选座功能【推荐】
Aug 29 Javascript
spring+angular实现导出excel的实现代码
Feb 27 Javascript
高性能js数组去重(12种方法,史上最全)
Dec 21 Javascript
Vue项目接入Paypal实现示例详解
Jun 04 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中使用mktime获取时间戳的一个黑色幽默分析
2012/05/31 PHP
php多文件上传实现代码
2014/02/20 PHP
Laravel使用Caching缓存数据减轻数据库查询压力的方法
2016/03/15 PHP
csdn 批量接受好友邀请
2009/02/19 Javascript
Javascript 继承机制实例
2009/08/12 Javascript
EXT中xtype的含义分析
2010/01/07 Javascript
Egret引擎开发指南之编译项目
2014/09/03 Javascript
jQuery表单插件ajaxForm实例详解
2017/01/17 Javascript
详解windows下vue-cli及webpack 构建网站(三)使用组件
2017/06/17 Javascript
pm2 部署 node的三种方法示例
2017/10/20 Javascript
利用CDN加速react webpack打包后的文件详解
2018/02/22 Javascript
validform表单验证的实现方法
2019/03/08 Javascript
vue elementUI 表单校验功能之数组多层嵌套
2019/06/04 Javascript
在vue中实现禁止回退上一步,路由不存历史记录
2020/07/22 Javascript
bootstrap-closable-tab可实现关闭的tab标签页插件
2020/08/09 Javascript
vue+elementUI 实现内容区域高度自适应的示例
2020/09/26 Javascript
js屏蔽F12审查元素,禁止修改页面代码等实现代码
2020/10/02 Javascript
javascript中call,apply,bind的区别详解
2020/12/11 Javascript
Python自动化测试工具Splinter简介和使用实例
2014/05/13 Python
python中列表元素连接方法join用法实例
2015/04/07 Python
Python实现的双色球生成功能示例
2017/12/18 Python
Python爬虫将爬取的图片写入world文档的方法
2018/11/07 Python
python实现动态创建类的方法分析
2019/06/25 Python
Python word文本自动化操作实现方法解析
2020/11/05 Python
python实现代码审查自动回复消息
2021/02/01 Python
巴西婴儿用品商店:Bebe Store
2017/11/23 全球购物
马来西亚和新加坡巴士票在线预订:CatchThatBus
2018/11/17 全球购物
教师绩效考核方案
2014/01/21 职场文书
个人工作主要事迹
2014/05/08 职场文书
我爱祖国演讲稿
2014/09/02 职场文书
办理房产过户的委托书
2014/09/14 职场文书
单位委托书
2014/10/15 职场文书
Vue vee-validate插件的简单使用
2021/06/22 Vue.js
看完这篇文章获得一些java if优化技巧
2021/07/15 Java/Android
Golang数据类型和相互转换
2022/04/12 Golang
Elasticsearch 聚合查询和排序
2022/04/19 Python