qa項目可能須要客戶端獲取到url的參數,搜到一個很好的解決方法,記錄在博客,免得之後找麻煩。javascript
方法一:分解連接的方式html
<script type="text/javascript"> /* * 說明:Javascript 獲取連接(url)參數的方法 */ function getQueryString(name) { // 若是連接沒有參數,或者連接中不存在咱們要獲取的參數,直接返回空 if(location.href.indexOf("?")==-1 || location.href.indexOf(name+'=')==-1) { return ''; } // 獲取連接中參數部分 var queryString = location.href.substring(location.href.indexOf("?")+1); // 分離參數對 ?key=value&key2=value2 var parameters = queryString.split("&"); var pos, paraName, paraValue; for(var i=0; i<parameters.length; i++) { // 獲取等號位置 pos = parameters[i].indexOf('='); if(pos == -1) { continue; } // 獲取name 和 value paraName = parameters[i].substring(0, pos); paraValue = parameters[i].substring(pos + 1); // 若是查詢的name等於當前name,就返回當前值,同時,將連接中的+號還原成空格 if(paraName == name) { return unescape(paraValue.replace(/\+/g, " ")); } } return ''; }; //http://localhost/test.html?aa=bb&test=cc+dd&ee=ff alert(getQueryString('test')); </script>
方法二:用正則匹配java
<script type="text/javascript"> function getQueryStringRegExp(name) { var reg = new RegExp("(^|\\?|&)"+ name +"=([^&]*)(\\s|&|$)", "i"); if (reg.test(location.href)) return unescape(RegExp.$2.replace(/\+/g, " ")); return ""; }; //http://localhost/test.html?aa=bb&test=cc+dd&ee=ff alert(getQueryStringRegExp('test')); </script>
原文連接:http://www.codebit.cn/javascript/javascript-get-url-parameter.htmlurl