哪位大侠能告诉我:
为什么js中的正则表达式匹配的时候:
中括号“[]”需要两次转义“\\[\\]”才可以;
而有的特殊字符只需要一次,如:“\'\"”;
有的不需要,如“(){}”。正则表达式jsjavascript

解决方案 »

  1.   


    <script type="text/javascript">
    var reg=/^\[\]$/;
    var reg2=new RegExp("^\\[\\]$");
    var str="[]";
    alert('reg'+reg.test(str));
    alert('reg2'+reg2.test(str));
    </script>
    当是正则直接量是一个\ 当是正则对象是两个\\
      

  2.   

    http://www.xiaoxiaozi.com/2009/08/02/1286/
      

  3.   

    我是这样写的:
    var specialKey = new RegExp("[\'\",:(){}\\[\\]]", "g");
    这样才能把'",:(){}[]全部检测到。