Javascript 获取链接(url)参数的方法

分解链接的方式:

[javascript] view plaincopy
 
  1. <script type="text/javascript">  
  2. <!--  
  3. // 说明:Javascript 获取链接(url)参数的方法  
  4. // 整理:http://www.CodeBit.cn  
  5.    
  6. function getQueryString(name)  
  7. {  
  8.     // 如果链接没有参数,或者链接中不存在我们要获取的参数,直接返回空  
  9.     if(location.href.indexOf("?")==-1 || location.href.indexOf(name+'=')==-1)  
  10.     {  
  11.         return '';  
  12.     }  
  13.    
  14.     // 获取链接中参数部分  
  15.     var queryString = location.href.substring(location.href.indexOf("?")+1);  
  16.    
  17.     // 分离参数对 ?key=value&key2=value2  
  18.     var parameters = queryString.split("&");  
  19.    
  20.     var pos, paraName, paraValue;  
  21.     for(var i=0; i<parameters.length; i++)  
  22.     {  
  23.         // 获取等号位置  
  24.         pos = parameters[i].indexOf('=');  
  25.         if(pos == -1) { continue; }  
  26.    
  27.         // 获取name 和 value  
  28.         paraName = parameters[i].substring(0, pos);  
  29.         paraValue = parameters[i].substring(pos + 1);  
  30.    
  31.         // 如果查询的name等于当前name,就返回当前值,同时,将链接中的+号还原成空格  
  32.         if(paraName == name)  
  33.         {  
  34.             return unescape(paraValue.replace(/+/g, " "));  
  35.         }  
  36.     }  
  37.     return '';  
  38. };  
  39.    
  40. //http://localhost/test.html?aa=bb&test=cc+dd&ee=ff  
  41. alert(getQueryString('test'));  
  42. //-->  
  43. </script>  


正式表达式: 

[javascript] view plaincopy
 
    1. <script type="text/javascript">  
    2. <!--  
    3. function getQueryStringRegExp(name)  
    4. {  
    5.     var reg = new RegExp("(^|\?|&)"+ name +"=([^&]*)(\s|&|$)", "i");  
    6.     if (reg.test(location.href)) return unescape(RegExp.$2.replace(/+/g, " ")); return "";  
    7. };  
    8.    
    9. //http://localhost/test.html?aa=bb&test=cc+dd&ee=ff  
    10. alert(getQueryStringRegExp('test'));  
    11. //-->  
    12. </script> 
原文地址:https://www.cnblogs.com/xiaochao12345/p/4022373.html