//检查数据是否为空
function checnull(frm,str)
{
  re=/^\s{0,}$/
  if(re.test(frm.value))
  {
    alert(str)
    frm.focus()
    return false
  }else
  {
    return true
  }
}
//检查数据是否全为数字
function checnumber(frm,str)
{
  if(isNaN(frm.value) && frm.value!="")
    {
         alert(str);
     frm.select();
     return false;
    }else
    {
         return true;
    }
}
//检查数据是否全为整数
function checint(frm,str)
{
  re = /^-{0,1}\d+$/
  if(!re.test(frm.value) && frm.value!="")
    {
         alert(str);
     frm.select();
     return false;
    }else
    {
         return true;
    }
}
//检查数据是否全为正整数
function checplusint(frm,str)
{
  re = /^\d+$/
  if(!re.test(frm.value) && frm.value!="")
    {
         alert(str);
     frm.select();
     return false;
    }else
    {
         return true;
    }
}
//检查电话号码
function chectelphone(frm,str)
{
  re=/^\d{3}-{0,1}\d{7,8}$/
  if(!re.test(frm.value) && frm.value!="")
  {
      alert(str)
    frm.select()
    return false;
  }else
  {
      return true;
  }
}
//检查手机号码
function checmobilephone(frm,str)
{
  re=/^0{0,1}13[0-9]{9}$/
  if(!re.test(frm.value) && frm.value!="")
  {
      alert(str)
    frm.select()
    return false;
  }else
  {
      return true;
  }
}
//检查电子邮件
function checemail(frm,str)
{
   re=/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/
   if(!re.test(frm.value) && frm.value!="")
  {
      alert(str)
      frm.select()
    return false
  }else
  {
      return true
  }
}
//检查身份证
function checidcard(frm,str)
{
  re=/^\d{15,18}$/
  if(!re.test(frm.value) && frm.value!="")
  {
      alert(str);
    frm.select();
    return false
  }else
  {
      return true
  }
}
//检查邮编
function checpost(frm,str)
{
  re=/^\d{6}$/
  if(!re.test(frm.value))
  {
      alert(str)
    frm.select()
    return false
    }else
    {
      return true
  }
}
//文件名检查,mode的格式应为：html|htm|word|xls等
function checfilename(frm,str,mode)
{
  if(frm.value!="")
  {
    re="/^"+mode+"$/"
    var checstr=frm.value;
    var checarray=checstr.split(".");//分离文件名，取文件后缀名
    var checmode=mode.split("|");//取检验对象
    var checbool=false;
    for(var i=0;i<checmode.length;i++)
    {
      if(checarray[checarray.length-1].toUpperCase()==checmode[i].toUpperCase())
      {
        checbool=true
      }
    }
    if(checbool==false)
    {
       alert(str);
       frm.select();
       return false
    }
    else
      {
       return true;
    }
  }
  else
  {
     return true
  }
}

//检查字符串长度
function checlen(frm,str,len)
{
  if(frm.value!=""&&frm.value.length<len)
  {
      alert(str)
      frm.select()
      return false
  }else
  {
      return true
  }
}
//检查密码是否一致
function checpass(frm,str,frm1)
{
  if(frm.value!=frm1.value)
  {
      alert(str)
      frm.value=frm1.value=""
      frm1.select()
      return false
  }else
  {
      return true
  }
}
//检查是否为日期
function checdate(frm,str)
{
    if(frm.value=="") return true
    var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;
    result = frm.value.match(reg);
    if(result == null)
    {
      alert(str);
      return false
    }
    var d = new Date(result[1],result[3]-1,result[4])
    if(frm.value!=d.getFullYear()+result[2]+(d.getMonth()+1)+result[2]+d.getDate())
    {
      alert(str);
      return false
    }
    return true
}

//表单自动验证函数(text,password,select)
function checknull(form)
{
  var INPUT;//保存现在访问的表单元件
  var i=0;
  for(i=0;i<form.elements.length;i++)
  {
    INPUT=form.elements[i];
    if(INPUT.type!="submit" &&
       INPUT.type!="button" &&
       INPUT.type!="reset" &&
       INPUT.type!="hidden" &&
       INPUT.type!="radio" &&
       INPUT.type!="checkbox")
    {
      if (INPUT.check_null && !checnull(INPUT,INPUT.check_null)) return false;//是否为空
      if (INPUT.check_umber && !checnumber(INPUT,INPUT.check_umber)) return false;//是否为数字
      if (INPUT.check_int && !checint(INPUT,INPUT.check_int)) return false;//是否为整数
      if (INPUT.check_plusint && !checplusint(INPUT,INPUT.check_plusint)) return false;//是否为正整数
      if (INPUT.check_telphone && !chectelphone(INPUT,INPUT.check_telphone)) return false;//是否为电话号码
      if (INPUT.check_mobilephone && !checmobilephone(INPUT,INPUT.check_mobilephone)) return false;//是否为手机号码
      if (INPUT.check_email && !checemail(INPUT,INPUT.check_email)) return false;//是否为电子邮件
      if (INPUT.check_idcard && !checidcard(INPUT,INPUT.check_idcard)) return false;//是否为身份证
      if (INPUT.check_post && !checpost(INPUT,INPUT.check_post)) return false;//是否为邮编
      if (INPUT.check_filename && INPUT.sufname && !checfilename(INPUT,INPUT.check_filename,INPUT.sufname)) return false;//文件名检查
      if (INPUT.check_len && !checlen(INPUT,INPUT.check_len,INPUT.len)) return false;//检查字符串长度
      if (INPUT.check_pass && INPUT.pass && !eval('checpass(INPUT,INPUT.check_pass,INPUT.form.'+INPUT.pass+')')) return false;//检查密码是否一致
      if (INPUT.check_date && !checdate(INPUT,INPUT.check_date)) return false;//是否为日期
    }
  }
  return true;
}
