js获取URL中的参数值
/*
获取URL中最后一项参数的值
*/
var str=window.location.href;
//alert(str);
var es=/SouceID=/;
es.exec(str);
var right=RegExp.rightContext;
//alert(right);
//列子
<script
language="javascript">
var str=window.location.href;
var
es=/SouceID=/;
es.exec(str);
var
right=RegExp.rightContext;
//alert(right);
switch(right){
case
'Din':
case 'Exh':
case 'Banks':
case 'Shop':
case
'Treat':
case
'Trip':
ChgTab('tab3','tabcontent3');
break;
case
'Air':
case 'Railway':
case 'Road':
case
'Subway':
ChgTab('tab2','tabcontent2');
break;
default:
ChgTab('tab1','tabcontent1');
}
</script>
//以下是函数的写法
function GetParam(){
var url = document.location.href;
var name=""
if (url.indexOf("=")>0)
{
name = url.substring(url.indexOf("=")+1,url.length)
}
return name;
}
/*
获取指定的URL参数值
URL:http://www.blogjava.net/blog?name=bainian
参数:paramName URL参数
调用方法:getParam("name")
返回值:bainian
*/
//1.
function getParam(paramName)
{
paramValue ="";
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.
function Request(sName)
{
/*
get last loc. of ?
right: find first loc. of sName
+2
retrieve value before next &
*/
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
return0; //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
}