js获取url参数代码实例分享(JS操作URL)


Posted in Javascript onDecember 13, 2013

代码很简单,主要一个思路是把url参数解析为js对象,再做增、删、改、查操作就很方便了~,这里做笔记。

var LG=(function(lg){
    var objURL=function(url){
        this.ourl=url||window.location.href;
        this.href="";//?前面部分
        this.params={};//url参数对象
        this.jing="";//#及后面部分
        this.init();
    }
    //分析url,得到?前面存入this.href,参数解析为this.params对象,#号及后面存入this.jing
    objURL.prototype.init=function(){
        var str=this.ourl;
        var index=str.indexOf("#");
        if(index>0){
            this.jing=str.substr(index);
            str=str.substring(0,index);
        }
        index=str.indexOf("?");
        if(index>0){
            this.href=str.substring(0,index);
            str=str.substr(index+1);
            var parts=str.split("&");
            for(var i=0;i<parts.length;i++){
                var kv=parts[0].split("=");
                this.params[kv[0]]=kv[1];
            }
        }
        else{
            this.href=this.ourl;
            this.params={};
        }
    }
    //只是修改this.params
    objURL.prototype.set=function(key,val){
        this.params[key]=val;
    }
    //只是设置this.params
    objURL.prototype.remove=function(key){
        this.params[key]=undefined;
    }
    //根据三部分组成操作后的url
    objURL.prototype.url=function(){
        var strurl=this.href;
        var objps=[];//这里用数组组织,再做join操作
        for(var k in this.params){
            if(this.params[k]){
                objps.push(k+"="+this.params[k]);
            }
        }
        if(objps.length>0){
            strurl+="?"+objps.join("&");
        }
        if(this.jing.length>0){
            strurl+=this.jing;
        }
        return strurl;
    }
    //得到参数值
    objURL.prototype.get=function(key){
        return this.params[key];
    }    
    lg.URL=objURL;
    return lg;
}(LG||{}));

LG只是我个人共同JS的名称空间,无他。调用:

var myurl=new LG.URL("http://www.baidu.com?a=1");    myurl.set("b","hello"); //添加了b=hello
    alert (myurl.url());
    myurl.remove("b"); //删除了b
    alert(myurl.get ("a"));//取参数a的值,这里得到1
    myurl.set("a",23); //修改a的值为23
    alert (myurl.url());
Javascript 相关文章推荐
jquery得到font-size属性值实现代码
Sep 30 Javascript
JS保存和删除cookie操作 判断cookie是否存在
Nov 13 Javascript
浅谈javascript六种数据类型以及特殊注意点
Dec 20 Javascript
jquery的ajax简单结构示例代码
Feb 17 Javascript
JavaScript 动态加载脚本和样式的方法
Apr 13 Javascript
手机端页面rem宽度自适应脚本
May 20 Javascript
JavaScript实现简单获取当前网页网址的方法
Nov 09 Javascript
Vue中的数据监听和数据交互案例解析
Jul 12 Javascript
VsCode插件整理(小结)
Sep 14 Javascript
JavaScript基于对象方法实现数组去重及排序操作示例
Jul 10 Javascript
解决百度Echarts图表坐标轴越界的方法
Oct 17 Javascript
javascript实现简单留言板案例
Feb 09 Javascript
js获取html页面节点方法(递归方式)
Dec 13 #Javascript
jquery 合并内容相同的单元格(示例代码)
Dec 13 #Javascript
javascript读取xml实现javascript分页
Dec 13 #Javascript
同域jQuery(跨)iframe操作DOM(示例代码)
Dec 13 #Javascript
javascript分页代码实例分享(js分页)
Dec 13 #Javascript
jquery 操作iframe的几种方法总结
Dec 13 #Javascript
异步动态加载JS并运行(示例代码)
Dec 13 #Javascript
You might like
php中通过正则表达式下载内容中的远程图片的函数代码
2012/01/10 PHP
PHP反射类ReflectionClass和ReflectionObject的使用方法
2013/11/13 PHP
PHPMailer使用QQ邮箱实现邮件发送功能
2017/08/18 PHP
基于逻辑运算的简单权限系统(实现) JS 版
2007/03/24 Javascript
javascript Array.remove() 数组删除
2009/08/06 Javascript
JavaScript 格式字符串的应用
2010/03/29 Javascript
40款非常棒的jQuery 插件和制作教程(系列一)
2011/10/26 Javascript
js里怎么取select标签里的值并修改
2012/12/10 Javascript
js确认删除对话框效果的示例代码
2014/02/20 Javascript
jquery获取选中的文本和值的方法
2014/07/08 Javascript
JS实现页面中所有img对象添加onclick事件及新窗口查看图片的方法
2016/12/27 Javascript
Vue.js划分组件的方法
2017/10/29 Javascript
vue生命周期和react生命周期对比【推荐】
2018/09/19 Javascript
jqGrid表格底部汇总、合计行footerrow处理
2019/08/21 Javascript
jquery实现掷骰子小游戏
2019/10/24 jQuery
JavaScript用document.write()输出换行的示例代码
2020/11/26 Javascript
Python2.x与Python3.x的区别
2016/01/14 Python
flask使用session保存登录状态及拦截未登录请求代码
2018/01/19 Python
对Tensorflow中tensorboard日志的生成与显示详解
2020/02/04 Python
自定义Django默认的sitemap站点地图样式
2020/03/04 Python
django实现HttpResponse返回json数据为中文
2020/03/27 Python
Python 字典中的所有方法及用法
2020/06/10 Python
Python生成pdf目录书签的实例方法
2020/10/29 Python
纯CSS3编写的的精美动画进度条(无flash/无图像/无脚本/附源码)
2013/01/07 HTML / CSS
Html5 localStorage入门教程
2018/04/26 HTML / CSS
英国最大的运动营养公司之一:LA Muscle
2018/07/02 全球购物
介绍一下Python下range()函数的用法
2013/11/07 面试题
学校经典推荐信
2013/10/30 职场文书
网络教育自我鉴定
2014/02/04 职场文书
大学生简短的自我评价分享
2014/02/20 职场文书
施工安全协议书范本
2014/09/26 职场文书
幼师大班个人总结
2015/02/13 职场文书
安全承诺书格式范本
2015/04/28 职场文书
感恩的心主题班会
2015/08/12 职场文书
HTML基础-标签分类(闭合标签,空标签,块级元素,行内元素,行级块元素,可替换元素)
2021/03/31 HTML / CSS
MySQL中的引号和反引号的区别与用法详解
2021/10/24 MySQL