大家帮忙看下我这段javascript代码有啥问题。

ghostalker 2011-11-08 04:38:28
我想将一段网页路径的参数打包成类的形式
譬如 如下的路径 “file:///C:/Users/Ghostalker/Desktop/b/d.htm?username=12abc&pwd=123”

username=12abc&pwd=123 我视为传入这个页面的参数。
我编写了下面一段代码


(function()
{
var argv_strnjr="";
argv_strnjr=window.location.search;
document.argv=new Object();
document.argv["argc"]=0;
if(argv_strnjr==""){
return -1;
}

try{
argv_strnjr.replace("?",""); ///// 关键在这里
var argArray=argv_strnjr.split("&");
if(argArray.length>0)
{
for(i=0;i<argArray.length;i++)
{
var name_value_array=argArray[i].split("=");
eval("document.argv[\""+name_value_array[0]+"\"]=\""+name_value_array[1]+"\"");
document.argv.argc++;
}
}
else{return -1;}
}catch(e)
{}
}
)();



在上面的 window.location.search 中返回的是 包括 问号(?) 在内的一段字符串 本例中表示为 “?username=12abc&pwd=123 ”
我想用正则表达式的形式将这个问号去掉 就是用了 string 类型的 replace方法
尝试过

var regtmp=/\?/g;
argv_strnjr.replace(regtmp,"");


但是再用firebug调试 发现这里无论如何都不能被替换掉
但是 在 w3schools网站中的测试环境里面 都能很好的运行,谁知道
...全文
73 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zell419 2011-11-10
  • 打赏
  • 举报
回复

var reg = /\?/g;
alert("index.html?username=12abc&pwd=123".replace(reg," "));
闪电侠的博客 2011-11-10
  • 打赏
  • 举报
回复
关键就在


argv_strnjr = argv_strnjr.replace("?",""); ///// 关键在这里


因为replace函数是不会改变原字符串的值的,所以你必须将返回的值赋值给原来的变量,这样比较兼容些
闪电侠的博客 2011-11-10
  • 打赏
  • 举报
回复

<script >
(function()
{
var argv_strnjr="";
argv_strnjr=window.location.search;
alert(argv_strnjr);
document.argv=new Object();
document.argv["argc"]=0;
if(argv_strnjr==""){
return -1;
}

try{
argv_strnjr = argv_strnjr.replace("?",""); ///// 关键在这里,你替换掉之后返 回的值必须赋给它啊
alert(argv_strnjr);
var argArray=argv_strnjr.split("&");
if(argArray.length>0)
{
for(i=0;i<argArray.length;i++)
{
var name_value_array=argArray[i].split("=");
eval("document.argv[\""+name_value_array[0]+"\"]=\""+name_value_array[1]+"\"");
document.argv.argc++;
}
}
else{return -1;}
}catch(e)
{}
}
)();
</script>
hookee 2011-11-10
  • 打赏
  • 举报
回复
alert(window.location.search) 看一下, 本地地址和http://的有不同吧
ghostalker 2011-11-10
  • 打赏
  • 举报
回复
自己顶上去下

87,910

社区成员

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

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