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 选项卡效果(JS与HTML的分离)
Apr 01 Javascript
jquery 文本上下无缝滚动,鼠标放上去就停止 小例子
Jun 05 Javascript
js 文本滚动效果的实例代码
Aug 17 Javascript
JS控制表单提交的方法
Jul 09 Javascript
javascript实现的淘宝旅行通用日历组件用法实例
Aug 03 Javascript
解决wx.onMenuShareTimeline出现的问题
Aug 16 Javascript
jQuery在ie6下无法设置select选中的解决方法详解
Sep 20 Javascript
javascript实现动态显示颜色块的报表效果
Apr 10 Javascript
javascript浏览器用户代理检测脚本实现方法
Oct 27 Javascript
vue实现一拉到底的滑动验证
Jul 25 Javascript
详解Nuxt内导航栏的两种实现方式
Apr 16 Javascript
Nuxt.js nuxt-link与router-link的区别说明
Nov 06 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
星际争霸 Starcraft 游戏介绍
2020/03/14 星际争霸
Windows2003 下 MySQL 数据库每天自动备份
2006/12/21 PHP
织梦模板标记简介
2007/03/11 PHP
PHPwind整合最土系统用户同步登录实现方法
2010/12/08 PHP
实用的PHP带公钥加密类分享(每次加密结果都不一样哦)
2014/08/20 PHP
php连接odbc数据源并保存与查询数据的方法
2014/12/24 PHP
PHP使用PHPexcel导入导出数据的方法
2015/11/14 PHP
PHP中addslashes与mysql_escape_string的区别分析
2016/04/25 PHP
PHP ADODB生成HTML表格函数rs2html功能【附错误处理函数用法】
2018/05/29 PHP
jQuery插件开发基础简单介绍
2013/01/07 Javascript
javascript截取字符串(通过substring实现并支持中英文混合)
2013/06/24 Javascript
使用js在页面中绘制表格核心代码
2013/09/16 Javascript
JavaScript中的console.profile()函数详细介绍
2014/12/29 Javascript
javascript变量声明实例分析
2015/04/25 Javascript
详解javascript中原始数据类型Null和Undefined
2015/12/17 Javascript
浅谈angular.js跨域post解决方案
2017/08/30 Javascript
AngularJS表单验证功能
2017/10/19 Javascript
axios实现文件上传并获取进度
2020/03/25 Javascript
vue-cli3配置favicon.ico和title的流程
2020/10/27 Javascript
ajax jquery实现页面某一个div的刷新效果
2021/03/04 jQuery
[01:32]寻找你心中的那团火 DOTA2 TI9火焰传递活动今日开启
2019/05/16 DOTA
Python的装饰器使用详解
2017/06/26 Python
Python判断中文字符串是否相等的实例
2018/07/06 Python
Flask框架WTForm表单用法示例
2018/07/20 Python
Python 做曲线拟合和求积分的方法
2018/12/29 Python
PyCharm设置每行最大长度限制的方法
2019/01/16 Python
解决django服务器重启端口被占用的问题
2019/07/26 Python
Python 基于FIR实现Hilbert滤波器求信号包络详解
2020/02/26 Python
可视化pytorch 模型中不同BN层的running mean曲线实例
2020/06/24 Python
新春寄语大全
2014/04/09 职场文书
留学顾问岗位职责
2014/04/14 职场文书
竞选团支书演讲稿
2014/04/28 职场文书
大学生考试作弊检讨书
2014/09/21 职场文书
个人廉洁自律总结
2015/03/06 职场文书
教师岗位职责范本
2015/04/02 职场文书
你真的了解redis为什么要提供pipeline功能
2021/06/22 Redis