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 相关文章推荐
Ext javascript建立超链接,进行事件处理的实现方法
Mar 22 Javascript
table对象中的insertRow与deleteRow使用示例
Jan 26 Javascript
javascript实现C语言经典程序题
Nov 29 Javascript
javascript中this指向详解
Apr 23 Javascript
jQuery查找节点并获取节点属性的方法
Sep 09 Javascript
BootStrap树状图显示功能
Nov 24 Javascript
JavaScript中使用参数个数实现重载功能
Sep 01 Javascript
vue中v-model的应用及使用详解
Jun 27 Javascript
详解操作虚拟dom模拟react视图渲染
Jul 25 Javascript
微信小程序在地图选择地址并返回经纬度简单示例
Dec 03 Javascript
jQuery中实现text()的方法
Apr 04 jQuery
webpack4手动搭建Vue开发环境实现todoList项目的方法
May 16 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个人网站架设连环讲(四)
2006/10/09 PHP
php中如何使对象可以像数组一样进行foreach循环
2013/08/09 PHP
PHP的foreach中使用引用时需要注意的一个问题和解决方法
2014/05/29 PHP
php格式化金额函数分享
2015/02/02 PHP
PHP 使用redis简单示例分享
2015/03/05 PHP
smarty模板引擎之内建函数用法
2015/03/30 PHP
PHP+Mysql+jQuery查询和列表框选择操作实例讲解
2015/10/22 PHP
PHP创建PowerPoint2007文档的方法
2015/12/10 PHP
编写PHP脚本清除WordPress头部冗余代码的方法讲解
2016/03/01 PHP
Laravel 解决419错误 -ajax请求错误的问题(CSRF验证)
2019/10/25 PHP
php中try catch捕获异常实例详解
2020/08/06 PHP
csdn 博客的css样式 v3
2009/02/24 Javascript
网站页面自动跳转实现方法PHP、JSP(下)
2010/08/01 Javascript
容易被忽略的JS脚本特性
2011/09/13 Javascript
JQ获取动态加载的图片大小的正确方法分享
2013/11/08 Javascript
js实现固定显示区域内自动缩放图片的方法
2015/07/18 Javascript
JS实现新浪微博效果带遮罩层的弹出框代码
2015/10/12 Javascript
jQuery实现非常实用漂亮的select下拉菜单选择效果
2015/11/06 Javascript
详解Jquery实现ready和bind事件
2016/04/14 Javascript
轻松掌握JavaScript策略模式
2016/08/25 Javascript
微信小程序 location API实例详解
2016/10/02 Javascript
vue日历/日程提醒/html5本地缓存功能
2019/09/02 Javascript
vue中的使用token的方法示例
2020/03/10 Javascript
详解vue中v-model和v-bind绑定数据的异同
2020/08/10 Javascript
分享8个JavaScript库可更好地处理本地存储
2020/10/12 Javascript
python进阶教程之模块(module)介绍
2014/08/30 Python
python opencv 图像拼接的实现方法
2019/06/27 Python
python、PyTorch图像读取与numpy转换实例
2020/01/13 Python
CSS3之transition实现下划线的示例代码
2018/05/30 HTML / CSS
库存图片、照片、矢量图、视频和音乐:Shutterstock
2021/02/12 全球购物
Otiumberg官网:英国半精致珠宝品牌
2021/01/16 全球购物
项目合作协议书
2014/04/16 职场文书
竞选学习委员演讲稿
2014/09/01 职场文书
2014第二批党员干部对照“四风”找差距检查材料思想汇报
2014/09/18 职场文书
诉讼代理人授权委托书
2014/10/11 职场文书
2016毕业实习单位评语大全
2015/12/01 职场文书