search方法要求参数是正则表达式~
if(temp_str.search(new RegExp(forbid_array[i])) != -1)

解决方案 »

  1.   

    函数:
    if(temp_str.indexOf(forbid_array[i])!=-1)
    表单:
    onsubmit="return is_forbid(inputform.truename.value)"
      

  2.   

    测试了一下,原来用不用正则都行function is_forbid(temp_str)
    {
    var forbid_str=new String('中国,中华人民共和国,胡锦涛')
    var forbid_array=new Array()
    forbid_array=forbid_str.split(',')
    //var temp_str = new String(something);
    for(i=0;i<forbid_array.length;i++)
    {
    if(temp_str.search(new RegExp(forbid_array[i])) != -1)
    alert("对不起您的姓名里面含有非法字符请重新填写");
    return false;
    }
    return true;
    }
    </script><body>
    <input type="text" onblur="javascript:is_forbid(this.value);">
      

  3.   

    你这个有错误吧
    if(temp_str.search(new RegExp(forbid_array[i])) != -1)
    alert("对不起您的姓名里面含有非法字符请重新填写");
    return false;
    这个是不是应该这样写的:
    if(temp_str.search(new RegExp(forbid_array[i])) != -1)
    {
    alert("对不起您的姓名里面含有非法字符请重新填写");
    return false;
    }
    否则一直都是false;