一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

js获取地址栏里传递的参数

时间:2008-05-15 编辑:简简单单 来源:一聚教程网

字符串分割分析法。
这里是一个获取URL+?带QUESTRING参数的JAVASCRIPT客户端解决方案,相当于asp的request.querystring,PHP的$_GET
函数:



然后我们通过调用此函数获取对应参数值:

以此获取url串中所带的同名参数

二、正则分析法。
function     GetQueryString(name)   
{   
     var     reg     =   new   RegExp("(^|&)"+     name     +"=([^&]*)(&|$)");   
     var     r     =     window.location.search.substr(1).match(reg);   
     if     (r!=null)   return     unescape(r[2]);   return   null;   
}   
alert(GetQueryString("参数名1"));   
alert(GetQueryString("参数名2"));   
alert(GetQueryString("参数名3"));

function fQueryString(sKey, bDecode, sLocationSearch, bDebug)
{/* shawl.qiu code, return string */
var Debug = bDebug;
if(!sLocationSearch) sLocationSearch = location.search;
if(!sKey) return sLocationSearch;

var sTemp = sLocationSearch.replace(/^\?/,"");
if(Debug) alert(sTemp);

if(sTemp==""&&bDebug) throw new Error("页面 sLocationSearch 没有查询参数!");
var Ar = sTemp.split("&"), sFinal = "";
var iArLen = Ar.length, iArCount = 0;

while(iArCount++ {
  if(Debug)
  {
   alert("Ar[iArCount-1].toLowerCase(): "+Ar[iArCount-1].toLowerCase());
   alert("sKey.toLowerCase()+'=': "+sKey.toLowerCase());
  }
  
  var arQsByPart = Ar[iArCount-1].split("=");
  if(arQsByPart[0].toLowerCase()==sKey.toLowerCase())
  {
   if(arQsByPart.length==1) continue;
   
   sFinal = arQsByPart[1];
   if(bDecode) sFinal = decodeURI(sFinal);
   break;
  }
}/* end while(iArCount++iArLen) */

if(sFinal==""&&bDebug) throw new Error("没有键为 "+sKey+" 的查询参数!");

return sFinal;
}/* end function fQueryString */

热门栏目