js獲取url傳遞參數,js獲取url?號后面的參數


方法一 :正則分析法

function getQueryString(name) {  
        var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");  
        var r = window.location.search.substr(1).match(reg);  
        if (r != null) return unescape(r[2]);  
        return null;  
    }  
  • 使用:params = getgetQueryString(params)就可以獲取到參數

方法二

function GetRequest() {   
   var url = location.search; //獲取url中"?"符后的字串   
   var theRequest = new Object();   
   if (url.indexOf("?") != -1) {   
      var str = url.substr(1);   
      strs = str.split("&");   
      for(var i = 0; i < strs.length; i ++) {   
         theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]);   
      }   
   }   
   return theRequest;   
}   
  • 調用GetRequest()此時獲取的是全部的參數,需要獲取某個參數怎么做呢?
var Request = new Object();
Request = GetRequest();
var 參數1,參數2,參數3,參數N;
參數1 = Request[''參數1''];
參數2 = Request[''參數2''];
參數3 = Request[''參數3''];
參數N = Request[''參數N''];
  • 還有種方法直接獲取指定的方法,其實跟上面思路是一樣的,只是上面是獲取的全部參數,下面這個是傳入具體的參數名,獲取指定的參數。
function getParameterByName(paramName) {
    var args = new Object();
    var argsStr = location.search;  //獲取URL參數字符串
    if (argsStr.length > 0) {
        argsStr = argsStr.substring(1);
        var nameValueArr = argsStr.split("&");  //多參數
        for (var i = 0; i < nameValueArr.length; i++) {
            var pos = nameValueArr[i].indexOf('=');
            if (pos == -1) continue; //如果沒有找到就跳過
            var argName = nameValueArr[i].substring(0, pos); //提取name
            var argVal = nameValueArr[i].substring(pos + 1); //提取value
            args[argName] = unescape(argVal);
        }
        return args[paramName];
    }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM