读书人

用javascript取url参数值的有关问题

发布时间: 2012-02-05 12:07:15 作者: rapoo

用javascript取url参数值的问题
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,请高手指教

[解决办法]
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>

读书人网 >JavaScript

热点推荐