獲取url傳遞的指定引數值程式碼例項

admin發表於2017-03-31

大家都知道使用url可以傳遞引數值。

當然在另一個頁面就可以接收這些引數,下面就通過程式碼例項介紹一下如何或者指定引數的值。

程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼
function GetUrlMenuCode(para){ 
  //var url=window.location.href; 
  var url="http://softwhy.com/forum.php?mod=forumdisplay&fid=142&page=1";
  var parameter=url.substring(url.indexOf('?') + 1); 
  parameter=parameter.split('&'); 
  var reg=new RegExp(para,"g"); 
  var paraValue= ""; 
  for (var index=0;index<parameter.length;index++){ 
    if(reg.test(parameter[index])){ 
      paraValue=parameter[index].replace(para+"=",""); 
      break; 
    } 
  } 
  return paraValue; 
}
console.log(GetUrlMenuCode("fid"));

上面的程式碼實現了獲取傳遞的指定引數值的效果,下面介紹一下它的實現過程。

一.程式碼註釋:

1.function GetUrlMenuCode(para){},傳遞的引數是要查詢值的引數。

2.var url="http://softwhy.com/forum.php?mod=forumdisplay&fid=142&page=1",這是獲取的url地址,當然正常是用window.location.href獲取,這裡只是為了便利演示。

3.var parameter=url.substring(url.indexOf('?') + 1),擷取問號以後的字串。

4.parameter=parameter.split('&'),使用&分割字串產生一個陣列,陣列的值是"fid=142"這種形式。

5.var reg=new RegExp(para,"g"),使用RegExp()建構函式生成一個正規表示式物件,第一個引數就是要查詢的引數。

6.for (var index=0;index<parameter.length;index++),便利陣列中的元素。

7.if(reg.test(parameter[index])){ 

  paraValue=parameter[index].replace(para+"=",""); 

  break; 

} ,如果正規表示式和對應的陣列元素匹配,那麼久將陣列元素中的指定部分替換為空,比如將"fid=142"中的"fid="替換為空,那麼剩下的就是對應的引數值了。

二.相關閱讀:

1.substring()方法可以參閱js substring()一章節。

2.indexOf()方法可以參閱js indexOf()一章節。

3.split()方法可以參閱javascript split()一章節。

4.replace()方法可以參閱javascript replace()一章節。

5.RegExp()可以參閱正規表示式的建立一章節。

相關文章