动态增长、修改、删除URL参数方法

一、获取url的指定参数
      _getQueryString:function(key){
        var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
        var r = window.location.search.substr(1).match(reg);
        if(r!=null)return  unescape(r[2]); return null;
      },
二、动态修改url指定参数,若修改的参数不存在则追加到url中
      _changeUrlArg:function(url,arg,val){
          var pattern = arg+'=([^&]*)';
          var replaceText = arg+'='+val;
          return url.match(pattern) ? url.replace(eval('/('+ arg+'=)([^&]*)/gi'), replaceText) : (url.match('[\?]') ? url+'&'+replaceText : url+'?'+replaceText);
      },

三、删除参数:
    _delUrlParam: function(url, ref) {
        // 若是不包括此参数
        if (url.indexOf(ref) == -1)
            return url;
        var arr_url = url.split('?');
        var base = arr_url[0];
        var arr_param = arr_url[1].split('&');
        var index = -1;
        for (i = 0; i < arr_param.length; i++) {
            var paired = arr_param[i].split('=');
            if (paired[0] == ref) {
                index = i;
                break;
            }
        }
        if (index == -1) {
            return url;
        } else {
            arr_param.splice(index, 1);
            return base + "?" + arr_param.join('&');
        }
    }
相关文章
相关标签/搜索