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 批量上传图片实现代码
Jan 28 Javascript
node.js中的console.time方法使用说明
Dec 09 Javascript
跟我学习javascript的prototype使用注意事项
Nov 17 Javascript
javascript常用经典算法实例详解
Nov 25 Javascript
浅谈Angular的$q, defer, promise
Dec 20 Javascript
Webpack打包慢问题的完美解决方法
Mar 16 Javascript
bootstrap multiselect 多选功能实现方法
Jun 05 Javascript
React学习笔记之条件渲染(一)
Jul 02 Javascript
JavaScript程序设计高级算法之动态规划实例分析
Nov 24 Javascript
微信小程序之分享页面如何返回首页的示例
Mar 28 Javascript
谈谈为什么你的 JavaScript 代码如此冗长
Jan 30 Javascript
详解小程序用户登录状态检查与更新实例
May 15 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
jquery+php+ajax显示上传进度的多图片上传并生成缩略图代码
2014/10/15 PHP
PHP屏蔽过滤指定关键字的方法
2014/11/03 PHP
php+redis消息队列实现抢购功能
2018/02/08 PHP
微信JSSDK分享功能图文实例详解
2019/04/08 PHP
JavaScript中令你抓狂的魔术变量
2006/11/30 Javascript
jQuery 使用手册(四)
2009/09/23 Javascript
Javascript 判断客户端浏览器类型代码
2010/03/01 Javascript
jquery如何判断某元素是否具备指定的样式
2013/11/05 Javascript
javascript包装对象实例分析
2015/03/27 Javascript
jQuery实现点击按钮弹出可关闭层的浮动层插件
2015/09/19 Javascript
JS实现表单多文件上传样式美化支持选中文件后删除相关项
2016/09/30 Javascript
BootStrap轮播HTML代码(推荐)
2016/12/10 Javascript
JavaScript中正则表达式使数字、中文或指定字符高亮显示
2017/10/31 Javascript
原生js封装添加class,删除class的实例
2017/11/06 Javascript
初探js和简单隐藏效果的实例
2017/11/23 Javascript
jQuery AJAX 方法success()后台传来的4种数据详解
2018/08/08 jQuery
详解Vue组件插槽的使用以及调用组件内的方法
2018/11/13 Javascript
JQuery搜索框自动补全(模糊匹配)功能实现示例
2019/01/08 jQuery
详解JavaScript 为什么要有 Symbol 类型?
2019/04/03 Javascript
解决layui 表单元素radio不显示渲染的问题
2019/09/04 Javascript
layui 实现加载动画以及非真实加载进度的方法
2019/09/23 Javascript
python用Pygal如何生成漂亮的SVG图像详解
2017/02/10 Python
Python调用系统底层API播放wav文件的方法
2017/08/11 Python
python中的内置函数max()和min()及mas()函数的高级用法
2018/03/29 Python
python十进制和二进制的转换方法(含浮点数)
2018/07/07 Python
Python使用Slider组件实现调整曲线参数功能示例
2019/09/06 Python
美国女性运动零售品牌:Lady Foot Locker
2017/05/12 全球购物
高中毕业生自我鉴定
2013/11/03 职场文书
读书心得体会
2013/12/28 职场文书
制药工程专业个人求职自荐信
2014/01/25 职场文书
适用于所有创业者的创业计划书
2014/02/05 职场文书
应届毕业生如何写求职信
2014/02/16 职场文书
老公给老婆的检讨书(精华篇)
2014/10/18 职场文书
党的群众路线教育实践活动整改方案
2014/10/28 职场文书
办公用房租赁协议书
2014/11/29 职场文书
学生逃课检讨书
2015/02/17 职场文书