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帮助之CSS尺寸(五)outerHeight、outerWidth
Nov 14 Javascript
js弹窗代码 可以指定弹出间隔
Jul 03 Javascript
js去字符串前后空格5种实现方法及比较
Apr 03 Javascript
JQuery中form验证出错信息的查看方法
Oct 08 Javascript
Node.js异步I/O学习笔记
Nov 04 Javascript
js实现选中复选框文字变色的方法
Aug 14 Javascript
jQuery实现二级下拉菜单效果
Jan 05 Javascript
Node.js的项目构建工具Grunt的安装与配置教程
May 12 Javascript
js 获取当前web应用的上下文路径实现方法
Aug 19 Javascript
JS实现放大、缩小及拖拽图片的方法【可兼容IE、火狐】
Aug 23 Javascript
JavaScript实现的联动菜单特效示例
Jul 08 Javascript
基于jquery实现彩色投票进度条代码解析
Aug 26 jQuery
屏蔽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
PHP4引用文件语句的对比
2006/10/09 PHP
smarty 缓存控制前的页面静态化原理
2013/03/15 PHP
php二维码生成以及下载实现
2017/09/28 PHP
php实现的rc4加密解密类定义与用法示例
2018/08/16 PHP
Ubuntu中支持PHP5与PHP7双版本的简单实现
2018/08/19 PHP
cnblogs中在闪存中屏蔽某人的实现代码
2010/11/14 Javascript
jQuery(js)获取文字宽度(显示长度)示例代码
2013/12/31 Javascript
javascript计时器事件使用详解
2014/01/07 Javascript
JS动态修改iframe高度和宽度的方法
2015/04/01 Javascript
JS中frameset框架弹出层实例代码
2016/04/01 Javascript
Angular.js中下拉框实现渲染html的方法
2017/06/18 Javascript
详解Vue双向数据绑定原理解析
2017/09/11 Javascript
seajs中最常用的7个功能、配置示例
2017/10/10 Javascript
详解Vue组件实现tips的总结
2017/11/01 Javascript
JavaScript ES6常用基础知识总结
2019/02/09 Javascript
JavaScript canvas仿代码流瀑布
2020/02/10 Javascript
VSCode搭建Vue项目的方法
2020/04/30 Javascript
VUE页面中通过双击实现复制表格中内容的示例代码
2020/06/11 Javascript
JS addEventListener()和attachEvent()方法实现注册事件
2021/01/11 Javascript
[01:01:51]EG vs VG Supermajor小组赛B组 BO3 第二场 6.2
2018/06/03 DOTA
python sys.argv[]用法实例详解
2018/05/25 Python
Python实现二叉树的常见遍历操作总结【7种方法】
2019/03/06 Python
Python 中的参数传递、返回值、浅拷贝、深拷贝
2019/06/25 Python
如何实现更换Jupyter Notebook内核Python版本
2020/05/18 Python
python实现npy格式文件转换为txt文件操作
2020/07/01 Python
Python中bisect的用法及示例详解
2020/07/20 Python
Python调用JavaScript代码的方法
2020/10/27 Python
英国翻新电子产品购物网站:Tech Trade
2017/12/25 全球购物
Bally巴利英国官网:经典瑞士鞋履、手袋及配饰奢侈品牌
2018/05/07 全球购物
navabi英国:设计师大码女装
2019/06/25 全球购物
WebSphere面试题:在WebSphere里面如何部署一个应用
2015/08/02 面试题
影子教师研修方案
2014/06/14 职场文书
2016年校长新年寄语
2015/08/17 职场文书
话题作文之自信作文
2019/11/15 职场文书
Django开发RESTful API实现增删改查(入门级)
2021/05/10 Python
Nginx流量拷贝ngx_http_mirror_module模块使用方法详解
2022/04/07 Servers