用javascript取url参数值的问题

九章落地 2007-09-24 11:40:23
function Request(name,url)
{
new RegExp("(^|&)"+name+"=([^&]*)").exec(url);
return RegExp.$2
}

var str="http://localhost/abc.aspx?aa=1"

单独只取一次值alert(Request("aa"))得结果是1
如取不存在的alert(Request("cc"))则为空

但是,如果是两个都取的话,就出问题了
比如
alert("aa="+Request("aa"));
alert("cc="+Request("cc"));
取得aa=1,第二个也是cc=1

先取cc,再取aa,就没有问题
alert("cc="+Request("cc")); //返回空
alert("aa="+Request("aa")); //反回aa=1

估计是regexp内存没有释放的缘故吧,可是又不知道怎么样能清空前一个regexp,请高手指教
...全文
480 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
dnawo 2007-09-24
  • 打赏
  • 举报
回复
<script language="JavaScript">
function getPra(parameter){
var reg,url,url2,iLen,iStart,iEnd;
url = document.location.href;
reg = new RegExp(parameter);
if(url.search(reg) == -1){
return "";
}
else{
iLen = parameter.length;
iStart = url.search(reg) + iLen +1;
url2 = url.substr(iStart);
iEnd = iStart + url2.search(/&/i);
if((iStart - 1) == iEnd){
return url.substr(iStart);
}
else{
return url.substr(iStart,iEnd - iStart);
}
}
}
//使用getPra("parameter")即可得到参数值;
</script>

感兴趣的话可以看看这篇文章,还有VBScript版的:
http://www.mzwu.com/article.asp?id=517
hbhbhbhbhb1021 2007-09-24
  • 打赏
  • 举报
回复
try

<script language=javascript>
function Request(name,url)
{
return (new RegExp("(\\?|&)"+name+"=([^&]*)").exec(url))?RegExp.$2:""
}

var str="http://localhost/abc.aspx?aa=1"
alert("cc="+Request("cc",str));
alert("aa="+Request("aa",str));
alert("cc="+Request("cc",str));
</script>

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧