您的位置:首页 > Web前端 > JavaScript

js获取URL中的参数值

2012-09-27 14:51 260 查看
 

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

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息