js url参数的获取和设置以及删除

来源:互联网 发布:淘宝开店认证怎么认证 编辑:程序博客网 时间:2024/06/06 03:10

注意:获取url参数后,中文需要 decodeURI


<scripttype="text/javascript">
       //para_name 参数名称 para_value 参数值 url所要更改参数的网址
       function setUrlParam(para_name, para_value) {
           var strNewUrl = new String();
           var strUrl = new String();
           var url = new String();
           url= window.location.href;
           strUrl = window.location.href;
           //alert(strUrl);
           if (strUrl.indexOf("?") != -1) {
               strUrl = strUrl.substr(strUrl.indexOf("?") + 1);
               //alert(strUrl);
               if (strUrl.toLowerCase().indexOf(para_name.toLowerCase()) == -1){
                   strNewUrl = url + "&" + para_name + "=" +para_value;
                   window.location = strNewUrl;
                   //return strNewUrl;
               } else {
                   var aParam = strUrl.split("&");
                   //alert(aParam.length);
                   for (var i = 0; i < aParam.length; i++) {
                       if (aParam[i].substr(0, aParam[i].indexOf("=")).toLowerCase() ==para_name.toLowerCase()) {
                           aParam[i] = aParam[i].substr(0, aParam[i].indexOf("=")) + "=" +para_value;
                       }
                   }

                   strNewUrl = url.substr(0, url.indexOf("?") + 1) +aParam.join("&");
                   //alert(strNewUrl);
                   window.location = strNewUrl;
                   //return strNewUrl;
               }

           } else {
               strUrl += "?" + para_name + "=" + para_value;
               //alert(strUrl);
               window.location=strUrl;
           }
       }
   </script>




/获取url参数的值:name是参数名

 

      function getQueryString(name) {
           var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)","i");
           var r = window.location.search.substr(1).match(reg);
           if (r != null) {
               return (r[2]);
           }
           return null;
       }

 

//设置url参数值,ref参数名,value新的参数值
       function changeURLPar(url, ref, value)
       {
           var str = "";
           if (url.indexOf('?') != -1)
               str = url.substr(url.indexOf('?') + 1);
           else
               return url + "?" + ref + "=" + value;
           var returnurl = "";
           var setparam = "";
           var arr;
           var modify = "0";

           if (str.indexOf('&') != -1) {
               arr = str.split('&');

               for (i in arr) {
                   if (arr[i].split('=')[0] == ref) {
                       setparam = value;
                       modify = "1";
                   }
                   else {
                       setparam = arr[i].split('=')[1];
                   }
                   returnurl = returnurl + arr[i].split('=')[0] + "=" + setparam +"&";
               }

               returnurl = returnurl.substr(0, returnurl.length - 1);

               if (modify == "0")
                   if (returnurl == str)
                       returnurl = returnurl + "&" + ref + "=" + value;
           }
           else {
               if (str.indexOf('=') != -1) {
                   arr = str.split('=');

                   if (arr[0] == ref) {
                       setparam = value;
                       modify = "1";
                   }
                   else {
                       setparam = arr[1];
                   }
                   returnurl = arr[0] + "=" + setparam;
                   if (modify == "0")
                       if (returnurl == str)
                           returnurl = returnurl + "&" + ref + "=" + value;
               }
               else
                   returnurl = ref + "=" + value;
           }
           return url.substr(0, url.indexOf('?')) + "?" + returnurl;
       }


       //删除参数值
       function delQueStr(url, ref) {
           var str = "";
           if (url.indexOf('?') != -1) {
               str = url.substr(url.indexOf('?') + 1);
           }
           else {
               return url;
           }
           var arr = "";
           var returnurl = "";
           var setparam = "";
           if (str.indexOf('&') != -1) {
               arr = str.split('&');
               for (i in arr) {
                   if (arr[i].split('=')[0] != ref) {
                       returnurl = returnurl + arr[i].split('=')[0] + "=" +arr[i].split('=')[1] + "&";
                   }
               }
               return url.substr(0, url.indexOf('?')) + "?" + returnurl.substr(0,returnurl.length - 1);
           }
           else {
               arr = str.split('=');
               if (arr[0] == ref) {
                   return url.substr(0, url.indexOf('?'));
               }
               else {
                   return url;
               }
           }
       }

0 0
原创粉丝点击