形成一个字符串
然后用
var r=eval(str)

解决方案 »

  1.   

    就是把正则表达式放在字符串中eval 方法
    检查 JScript 代码并执行. eval(codeString)必选项 codestring 参数是包含有效 JScript 代码的字符串值。这个字符串将由 JScript 分析器进行分析和执行。说明
    eval 函数允许 JScript 源代码的动态执行。例如,下面的代码创建了一个包含 Date 对象的新变量 mydate :eval("var mydate = new Date();");
    传递给 eval 方法的代码执行时的上下文和调用 eval 方法的一样. 
      

  2.   

    需要加上()
    <script>
    var arr=[2,3,5,7]
    var reg=new RegExp("^("+arr.join("|")+")$")
    var str="",i;
    for(i=1;i<20;i++)str+=(i+"="+reg.test(i.toString()))+"\n"
    alert(str)
    </script>
      

  3.   

    或者
    <script>
    var arr=[2,3,5,7]
    var reg=eval("/^("+arr.join("|")+")$/")
    var str="",i;
    for(i=1;i<20;i++)str+=(i+"="+reg.test(i.toString()))+"\n"
    alert(str)
    </script>