1. 程式人生 > >如何擷取url後面的引數

如何擷取url後面的引數

<!DOCTYPE HTML>
<html>
<head>
<title>js獲取url後面的引數</title>
<meta charset="utf-8" />
<script>
  var params=(function(){
  	var search=location.search;	//獲取location的search屬性,儲存在search中
  	var params={};		//建立空物件params
  	if(search!=""){		//如果search不是空字串
      		search.slice(1).split("&").forEach(	//?username=zhangdong&pwd=123456;//search去開頭?,按&切割為陣列,forEach
      			function(val){
        			var arr=val.split("=");		//將當前元素值按=切割,儲存在arr中
          			params[arr[0]]=arr[1];		//向params中新增一個元素,屬性名為arr[0],值為arr[1]
      			}
      		);
   	}
    	return params;		//返回params
  })();
  console.dir(params); 		//params:{username:"katherine",pwd:"123456"}
  
</script>
</head>
<body>
 	<form>
		姓名:<input name="username"/>
		密碼:<input type="password" name="pwd"/>
		<input type="submit"/>
	</form>
</body>
</html>

       /**
         * 獲取url引數
         */
        function getUrlParam(name) {
            var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); // 構造一個含有目標引數的正則表示式物件
            var r = window.location.search.substr(1).match(reg);  // 匹配目標引數
            if (r != null) return unescape(r[2]); return null; // 返回引數值
        }
        
        var questionId = getUrlParam('questionId');