str = str.replace(/\key/g, val[i]);

解决方案 »

  1.   

    输入字符串:<input id=txt value="1234"><br>
    输入正则表达式:/<input id=reg value="^\d{4}$">/<br>
    <input type=button onclick="validate()" value="验证">
    <script language="JavaScript">
    function validate(){
      var str = txt.value;
      var re = new RegExp(reg.value); // create regular expression from string
      alert(re.test(str));
    }
      

  2.   

    有几处写错了
    str = "as/1344/2a-=0/3456";
    document.write(str+"<br>");
    var key = new Array("/1", "/2", "/3"); // 是Array 不是array
    var val = new Array("1", "2", "3");
    for(var i = 0; i < key.length; i ++)
        if(str.indexOf(key[i]) != -1)
            str = str.replace(eval("/\\" + key[i] + "/g"), val[i]); // 是key[i] 不是key,因为key是数组。是"/\\" 不是"/\",串中的\字符要写作\\
    //注意这里使用了eval函数,因为正则表达式是对象所以要用eval从字符串中创建
    document.write(str+"<br>");