标签: JS

js获取URL参数

今天做一个项目,需要获取静态(html)页面传递来的URL参数,静态页面肯定不用通过后台程序来获取了,能获取的就就只有前台工作的javascript了,查了下javascript手册,手册里没有专门处理url参数的函数,看来只能利用正则表达式来分析链接地址,从而获取url中的参数了。然后获取到了参数在,通过Ajax传递给后台程序,来处理数据。

 

下面就分享出两个js获取URL参数的例子,供大家交流学习一下

<script language=”javascript”>
//例子地址:test.html?SouceID=52143555541&SouceUID=52143541
alert( getParam(‘SouceID’) );
alert( Request(‘SouceUID’) );

/**//*
获取指定的URL参数值
参数:paramName URL参数
调用方法:getParam(“name”)

//1.一个获取url参数的函数
function getParam(paramName)
{
paramValue = “Null”;
isFound = false;
if (this.location.search.indexOf(“?”) == 0 && this.location.search.indexOf(“=”)>1)
{
arrSource = unescape(this.location.search).substring(1,this.location.search.length).split(“&”);
i = 0;
while (i < arrSource.length && !isFound)
{
if (arrSource[i].indexOf(“=”) > 0)
{
if (arrSource[i].split(“=”)[0].toLowerCase()==paramName.toLowerCase())
{
paramValue = arrSource[i].split(“=”)[1];
isFound = true;
}
}
i++;
}
}
return paramValue;
}

//2.另外一个获取url参数的函数
function Request(sName)
{

/*
*/

var sURL = new String(window.location);
var sURL = document.location.href;
var iQMark= sURL.lastIndexOf(‘?’);
var iLensName=sName.length;

//retrieve loc. of sName
var iStart = sURL.indexOf(‘?’ + sName +’=’) //limitation 1
if (iStart==-1)
{//not found at start
iStart = sURL.indexOf(‘&’ + sName +’=’)//limitation 1
if (iStart==-1)
{//not found at end
return 0; //not found
}
}

iStart = iStart + + iLensName + 2;
var iTemp= sURL.indexOf(‘&’,iStart); //next pair start
if (iTemp ==-1)
{//EOF
iTemp=sURL.length;
}
return sURL.slice(iStart,iTemp ) ;
sURL=null;//destroy String
}

</script>