var s = '5';var partern =new RegExp("\d");
 
var br = partern.test(s);   // br 为false;
alert(br);
partern = /\d/;
br = partern.test(s);   // br 为true;
alert(br);  为什么RegExp那个不行。

解决方案 »

  1.   

    var partern =new RegExp("\\d");
    转义
      

  2.   

     alert("\\d")
    regexp构造函数接收的是一个字符串 你上面那样变成匹配"d"了
      

  3.   

    你写错了
    将var partern =new RegExp("\d");写成var partern =new RegExp("\\d")就可以了。\在正则表达式里面表示特殊的含义,而java里面\表示转义字符这应该知道吧,所以要让正则表达式的\起作用,就应该用两个\。这样两个\就可以表示真正的\的含义了。
      

  4.   

    http://www.w3school.com.cn/js/jsref_regexp_digit.asp
    我看这个,他也没有转义。找了半天也没有找到。