用JS獲取位址列引數的方法
方法一:採用正則表示式獲取位址列引數:
<html>
<head>
</head>
<body>
<script type="text/javascript">
alert(GetQueryString("id"));
function GetQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]); return null;}
</script>
</body>
</html>
eg:
若位址列URL為:abc.html?id=123&url=”http://www.csdn.com
那麼執行如上程式碼,就會彈出一個對話方塊:內容是123.
如果用alert(GetQueryString(“url”));
當然如果你沒有引數曹產地的話,則會輸出null;
方法二:傳統方法
<html>
<body>
<script type="text/javascript">
function UrlSearch()
{
var name,value;
var str=location.href; //取得整個位址列
var num=str.indexOf("?");
str=str.substr(num+1); //str得到?之後的字串
var arr=str.split("&"); //得到&分割的引數,放入陣列中
for(var i=0;i<arr.length;i++)
{
num=arr[i].indexOf("=");
if(num>0)
{
name=arr[i].substring(0,num);
value=arr[i].substr(num+1);
this[name]=value;
}
}
}
var Request=new UrlSearch();
alert(Request.id);
alert(location.href);
</script>
</body>
</html>
eg:
訪問abc.html?id=1
這個時候就會得到1;