js获取url参数代码实例分享(JS操作URL)_Javascript教程-查字典教程网
js获取url参数代码实例分享(JS操作URL)
js获取url参数代码实例分享(JS操作URL)
发布时间:2016-12-30 来源:查字典编辑
摘要:代码很简单,主要一个思路是把url参数解析为js对象,再做增、删、改、查操作就很方便了~,这里做笔记。复制代码代码如下:varLG=(fun...

代码很简单,主要一个思路是把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教程学习
    热门Javascript教程学习
    编程开发子分类