javascript操作URL函数

$.QueryString()                     自动给当前URL加UTC值,避免缓存
 $.QueryString(name)                 取当前页面URL名称为name的值
 $.QueryString(obj)                  设置当前URL的名称和值,obj为键值对象,自动加UTC值,避免缓存
 $.QueryString(url,name)             取url名称为name的值
 $.QueryString(obj,url)              设置Url的名称和值,obj为键值对象,自动加UTC值,避免缓存
 $.QueryString(obj,IsUTC)            设置当前的名称和值,obj为键值对象,IsUTC为bool值,是否加UTC
 $.QueryString(name,value)           设置当前URL的name值为value,自动加UTC值,避免缓存
 $.QueryString(name,value,IsUTC)     设置当前URL的name值为value,IsUTC为bool值,是否加UTC
 $.QueryString(obj,url,IsUTC)       设置Url的名称和值,obj为键值对象,IsUTC为bool值,是否加UTC
 $.QueryString(name,value,url)       设置url的name值为value,自动加UTC值,避免缓存
 $.QueryString(name,value,url,IsUTC) 设置url的name值为value,IsUTC为bool值,是否加UTC
 
 上面的value如果是null,函数就会自动删除已有的值
 
 下面是列子:
 
 $(function () {
     var url = $.QueryString();
     var value = $.QueryString("name");
     url = $.QueryString({ "aaa": "bbb", "ccc": "dddd" });
     value = $.QueryString("a.aspx?name=bbb", "name");
     url = $.QueryString({ "aaa": "bbb", "ccc": "dddd" }, "a.aspx?name=1");
     url = $.QueryString({ "aaa": "bbb", "ccc": "dddd" }, false);
     url = $.QueryString("name", "value");
     url = $.QueryString("name", "value", false);
     url = $.QueryString({ "aaa": "bbb", "ccc": "dddd" }, "a.aspx?name=1", false);
     url = $.QueryString("name", "value", "a.aspx?name=1");
     url = $.QueryString("name", null, "a.aspx?name=1");
     url = $.QueryString("name", "value", "a.aspx", false);
     url = $.QueryString("name", "value", "a.aspx?name=1", false);
     url = $.QueryString("name", null, "a.aspx?name=1", false);

 });



jQuery.extend({
 QueryString:function()
     {
        var href=window.location.href;
        var length=arguments.length;
        switch (length)
        {
           case 0:return $.QueryString("UTC",(new Date()).getTime(),href,false);break;
           case 1:return  $.QueryString(href,arguments[0]);break;
           case 2:{
                 if(typeof(arguments[0])=="object")
                 {
                    if(typeof(arguments[1])=="string")
                       return  $.QueryString(arguments[0],arguments[1],true,true);
                    else
                       return  $.QueryString(arguments[0],href,arguments[1],arguments[1]);
                 }
                 if(arguments[0].indexOf(".")==-1&&arguments[0].indexOf("?")==-1&&arguments[0].indexOf("&")==-1)
                    return $.QueryString(arguments[0],arguments[1],href);
                 else
                  {
                     href=arguments[0];
                     var name=arguments[1];
                     if(typeof(name)=="object")
                        return $.QueryString(name,href,true,true);
                     var regex =new RegExp("[\?|&]"+name+"=([^&]*)","i");
                     var match=href.match(regex); 
                     return match==null?"": decodeURIComponent(match[1]);
                   } 
                 }break;
           case 3:{
                if(typeof(arguments[2])!="string")
                   return $.QueryString(arguments[0],arguments[1],href,arguments[2]);
                 else
                   return $.QueryString(arguments[0],arguments[1],arguments[2],true);
           }break;
           default:{
               var name=arguments[0];
               if(typeof(name)=="object")
               {
                   href=arguments[1];
                   for(var k in name)
                      href=$.QueryString(k,name[k],href,false);
                   if(arguments[3])
                      href=$.QueryString("UTC",(new Date()).getTime(),href,false);
                   return href;
              }
 			 var value=arguments[1];
              if(typeof(value)=="object" && value!=null)
                return $.QueryString(arguments[1],arguments[0],arguments[2],arguments[3]);
 			 href=arguments[2]==null?href:arguments[2];
              var regex =new RegExp("([\?|&]"+name+"=)([^&]*)","i");
              var match=href.match(regex); 
              if(match!=null)
                 href= href.replace(regex,value?("$1"+encodeURIComponent(value)):"");
              else
                {
                   if(value) 
                   {
                        if(href.substr(href.length-1)!="&" && href.substr(href.length-1)!="?")
                           href+=href.indexOf("?")==-1?"?":"&";
                        href+=name+"="+encodeURIComponent(value);
                   }
                }
                 if(arguments[3])
                    href=$.QueryString("UTC",(new Date()).getTime(),href,false);
                 return href;
           }break;
        }
        return href;
     }
 });


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值