<script type="text/javascript">
//<![CDATA[
var str='\\d'
var re=new RegExp(str,'ig');
alert('a1b2c3d4e5'.replace(re,'~~~'));
//]]>
</script>

解决方案 »

  1.   

    function matchDemo(){
       var s;
       var re = new RegExp("d(b+)(d)","ig");
       var str = "cdbBdbsbdbdz";
       var arr = re.exec(str);
       s = "$1 contains: " + RegExp.$1 + "\n";
       s += "$2 contains: " + RegExp.$2 + "\n";
       s += "$3 contains: " + RegExp.$3;
       return(s);
    }
      

  2.   

    哇,又,改个性签名啦。。?
    还多少分升星星啊??
    to btbtd
      

  3.   

    楼上的似乎都理解错了楼主的意思,可以用eval呀,假如有个字符串strExp="\d+",要判断另一个字符串strTarget中是否都为数字,就可以这样:
    var exist=eval("/" + strExp + "/.test('" + strTarget + "')");
      

  4.   

    程序动态形成的字符串作为正则表达式
    1楼没有问题,二楼没有表示出那个能传变量
    用途比如关键字
    var key = ["wc", "name"], nkey = [];
    nkey["wc"] = "nwc";
    nkey["name"] = "nname";
    var pattern = new RegExp("(" + key.join("|") + ")");
    var j = 预处理字符串.replace(pattern, function (a, b) { return nkey[b]; });