1. 程式人生 > >用JS獲取位址列引數的方法

用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;