大家好。正则替换JS的时候遇到了一个问题。我想把【a】替换成 document.getElementById("a").value 不知道怎么写好‘【’和‘】’是全角的中括号 用正则取出字符串中 所有【】里面的字符,然后替换成document.getElementById("a").value。请高手帮忙,谢谢大家了

解决方案 »

  1.   

    <script>
    var str = "【aa】;【bb】;【bbn】;";
    var re = /【([^】]+)】/g;
    str = str.replace(re,"document.getElementById(\"$1\")");
    alert(str);
    </script>
      

  2.   

    少了个.value
    <script>
    var str = "【aa】;【bb】;【bbn】;";
    var re = /【([^】]+)】/g;
    str = str.replace(re,"document.getElementById(\"$1\").value");
    alert(str);
    </script>
      

  3.   

    您好,谢谢lihui_shine的帮助。问题已经解决了。您能不能给我讲讲 re的规则呢。我的正则不是很好。谢谢您了
      

  4.   

    正则还是要多实践实践啊
    一开始写的时候对照JS的正则表达式语法列表,边写边查边比较
    慢慢地脱离语法表,自己写,会写好的JS的正则表达式语法列表在JS手册里就有,网上也有很多http://download.csdn.net/source/972354