欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Javascript 獲取鏈接(url)參數(shù)的方法[正則與截取字符串]

 更新時(shí)間:2010年02月09日 12:29:28   作者:  
有時(shí)我們需要在客戶端獲取鏈接參數(shù),一個(gè)常見(jiàn)的方法是將鏈接當(dāng)做字符串,按照鏈接的格式分解,然后獲取對(duì)應(yīng)的參數(shù)值。本文給出的就是這個(gè)流程的具體實(shí)現(xiàn)方法。
當(dāng)然,我們也可以用正則直接匹配,文章中也給出了一個(gè)正則的例子。
分解鏈接的方式:
復(fù)制代碼 代碼如下:

<script type="text/javascript">
<!--
// 說(shuō)明:Javascript 獲取鏈接(url)參數(shù)的方法

function getQueryString(name)
{
// 如果鏈接沒(méi)有參數(shù),或者鏈接中不存在我們要獲取的參數(shù),直接返回空
if(location.href.indexOf("?")==-1 || location.href.indexOf(name+'=')==-1)
{
return '';
}

// 獲取鏈接中參數(shù)部分
var queryString = location.href.substring(location.href.indexOf("?")+1);

// 分離參數(shù)對(duì) ?key=value&key2=value2
var parameters = queryString.split("&");

var pos, paraName, paraValue;
for(var i=0; i<parameters.length; i++)
{
// 獲取等號(hào)位置
pos = parameters[i].indexOf('=');
if(pos == -1) { continue; }

// 獲取name 和 value
paraName = parameters[i].substring(0, pos);
paraValue = parameters[i].substring(pos + 1);

// 如果查詢的name等于當(dāng)前name,就返回當(dāng)前值,同時(shí),將鏈接中的+號(hào)還原成空格
if(paraName == name)
{
return unescape(paraValue.replace(/\+/g, " "));
}
}
return '';
};

//http://localhost/test.html?aa=bb&test=cc+dd&ee=ff
alert(getQueryString('test'));
//-->
</script>

用正則匹配的方式:
復(fù)制代碼 代碼如下:

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

相關(guān)文章

最新評(píng)論