×

jquery给url新增、修改、查询

admin admin 发表于2016-08-01 16:46:19 浏览1771 评论4

4人参与发表评论

(function ($) {
	 $.extend({
	  Request: function (m) {
	   var sValue = location.search.match(new RegExp("[\?\&]" + m + "=([^\&]*)(\&?)", "i"));
	   return sValue ? sValue[1] : sValue;
	  },
	  UrlUpdateParams: function (url, name, value) {
	   var r = url;
	   if (r != null && r != 'undefined' && r != "") {
	    value = encodeURIComponent(value);
	    var reg = new RegExp("(^|)" + name + "=([^&]*)(|$)");
	    var tmp = name + "=" + value;
	    if (url.match(reg) != null) {
	     r = url.replace(eval(reg), tmp);
	    }
	    else {
	     if (url.match("[\?]")) {
	      r = url + "&" + tmp;
	     } else {
	      r = url + "?" + tmp;
	     }
	    }
	   }
	   return r;
	  }
	 
	 });
	})(jQuery);
	
	/*
 * url 目标url
 * arg 需要替换的参数名称
 * arg_val 替换后的参数的值
 * return url 参数替换后的url
 */
function changeURLArg(url,arg,arg_val){
   var pattern=arg+'=([^&]*)';
   var replaceText=arg+'='+arg_val;
   if(url.match(pattern)){
      var tmp='/('+ arg+'=)([^&]*)/gi';
      tmp=url.replace(eval(tmp),replaceText);
      return tmp;
   }else{
      if(url.match('[\?]')){
         return url+'&'+replaceText;
      }else{
         return url+'?'+replaceText;
      }
   }
   return url+'\n'+arg+'\n'+arg_val;
}

//获取url中的参数
function getUrlParam(name) {
    var url=window.location.href;
    if(url.indexOf('?')<0){                //处理pathinfo格式的url
        var path=window.location.pathname;
        var url_arr=new Array();
        url_arr=path.split('/');
        var cur_index=url_arr.indexOf(name);
        var result=url_arr[cur_index+1];
        if(result !=null){return result;}else{return null;}
    }else{
        var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
        var r = window.location.search.substr(1).match(reg);  //匹配目标参数
        if (r != null) return unescape(r[2]); return null; //返回参数值
    }
}

使用方法

1取值使用

$.Request("act") = 1

2.添加参数

$.UrlUpdateParams(window.location.href, "mid", 11111),


群贤毕至

访客