天天看點

擷取http://位址傳遞值的兩種方法

記錄學習筆記  以前參考其他網友的,記錄一下,謝謝那位猿兄的分享

<!DOCTYPE html>
<html >
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
</body>
<script type="text/javascript">
	// 方法1
	function GetRequest() {

		//search 屬性是一個可讀可寫的字元串,可設定或傳回目前 URL 的查詢部分(問号 ? 之後的部分)。
		var url = location.search;  
		var theRequest = new Object();

		//indexOf() 方法可傳回某個指定的字元串值在字元串中首次出現的位置。如果要檢索的字元串值沒有出現,則該方法傳回 -1。
		if(url.indexOf("?") != -1) {

			// substr(start,length) 方法可在字元串中抽取從 第start開始的指定數目的字元,長度為length。
			var str = url.substr(1);

			//split() 方法用于把一個字元串分割成字元串數組。
			strs = str.split("&");
			for(var i = 0; i < strs.length; i++) {

				//decodeURIComponent() 函數可對 encodeURIComponent() 函數編碼的 URI 進行解碼。
				theRequest[strs[i].split("=")[0]] = decodeURIComponent(strs[i].split("=")[1]);
			}
		}
		return theRequest;
	}
	// 調用
	var get = GetRequest();
	var id = get['id'];
	alert("方法1.傳過來的id="+id);


	// 方法2
	function getQueryString(name) {
	    var url = window.location.search;
		var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
		var result = url.substr(1).match(reg);
		return result ? decodeURIComponent(result[2]) : null;
	}
	//調用
	alert("方法2.傳過來的id="+ getQueryString("id"));
</script>
</html>
           

繼續閱讀