很简单的问题。有点菜鸟。不要见笑。问题一:var abc="1234";
abc=abc.replace("/1/g","2");这个代码不行,如果:abc=abc.replace("1","2");可以。
不知道为什么。
问题2vs="a=111&b=222";
key="a";
value="333";
function setValue(vs,key,value)
{
   var rege="/" + key + "=*?&/g";
   vs=vs.replace(rege,key+ "=" + "333);
   return vs;
}我想把a=111替换成a=333.但是由于问题1没解决,问题2也不知道怎么搞。
如果能够bbb=222也可以通用替换就好了

解决方案 »

  1.   

    问题一:
    <script language="javascript">
    var abc="1234";
    abc=abc.replace(/1/g,"2");
    alert(abc);
    </script>  
      

  2.   

    问题解决了。
    我是在IE6和firefox中测试的,像 /1/ 这种表达式根本不能用。//下面这种才可以。必须指定表达式对象,不可以用string作为正则表达式
    var rege=new RegExp(key + "=.+?\&","g");//下面这种是错误的
    var rege="/" + key + "/=.+?\&";//甚至下面的也是错误的
    var reg="/1/";网上你抄我,我抄你,全都抄来抄去我在这写出来,让更多人少走弯路