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

posted on 2011-09-15 16:17  静以修身俭以养德  阅读(293)  评论(0编辑  收藏  举报

导航