if(str.search(exp) != -1)
改为
if(str.indexOf(exp) != -1)

解决方案 »

  1.   

    if(str.search(exp) != -1)
     这句写错了。
    应该是
    if(str.search(exp) == -1)
    search没有找到的时候,返回-1因此你的代码中处理写反了。不过为什么不用test来做?
      

  2.   

    /返回值搞反了
    function checkIDCardNo(str)
    {
        exp=/^(\d{15})|(\d{17}[\dx])$/;
        if(str.search(exp) != -1)//这里错误了,使用string.search的话照不到是-1,找到了是非-1
        {
            //return false;
    return true;
        }
        //return true;
    return false;
    }楼主不看自己原来的帖子的???????
      

  3.   

    改成:function checkIDCardNo(str)
    {
        var exp=/^(\d{15})|(\d{17}[\dx])$/;
        if(exp.exec(str) != null)
        {
            return true;
        }
        return false;
    }