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-12-08 10:58  AlvinXiao  阅读(498)  评论(0编辑  收藏  举报