//校验函数
//yield:页面中的对象名
//alertstring:提示时要显示的字符串
//检查是否为数字
function check_number(yield,alertstring){
  if(yield==null) return true;
  var str=yield.value;
  if(str==null||str=="") return true;
  else{
    var re =/\d/;
    var i=0;
    var len=str.length;
    for(i=0;i<len;i++){
      if(str.charAt(i).match(re)==null){
        alert(alertstring+"必须是整数！");
        yield.focus();
        return false;
      }
    }
  }
  return true;
}
//校验函数
//yield:页面中的对象名(数组)
//alertstring:提示时要显示的字符串
//检查是否为数字
function check_number_array(yield,alertstring){
  for(i=0;i<yield.length;i++){
    if(!check_number(yield[i],alertstring)) return false;
  }
  return true;
}
//yield:页面中的对象名
//len:最大字符长度
//alertstring:提示时要显示的字符串
//检查是否输入的长度是否超过数据库中该字段的最大值
function check_len(yield,len,alertstring){
  if(yield==null) return true;
  if (yield.value.length>len){
    yield.focus();
    alert(alertstring+"长度不能超过"+len+"位！");
    return false;
  }
  return true;
}
//yield:页面中的对象名(数组)
//len:最大字符长度
//alertstring:提示时要显示的字符串
//检查是否输入的长度是否超过数据库中该字段的最大值
function check_len_array(yield,len,alertstring){
  for(i=0;i<yield.length;i++){
    if(!check_len(yield,len,alertstring)) return false;
  }
  return true;
}
//检查是否为空
//yield:校验字段的名称，例:f1.aaa
//alertstring:提示内容
function check_empty(yield,alertstring){
  if(yield==null) return true;
  if(yield.value==""||yield.value==null)  {
    yield.focus();
    alert(alertstring+"不允许为空！");
    return false;
  }
  return true;
}
//检查是否为空
//yield:校验字段的名称，例:f1.aaa
//alertstring:提示内容
//arraylen：数组的非空字段个数
function check_empty_array(yield,alertstring,arraylen){
  var alen=arraylen;
  if(alen>yield.length) alen=yield.length;
  for(i=0;i<alen;i++){
    if(!check_empty(yield[i],alertstring)) return false;
  }
  return true;
}
//检查复选框是否为空
//yield:校验字段的名称，例:f1.aaa
//alertstring:提示内容
function check_checkbox(yield,alertstring){
  var count=0;
  for(i=0;i<yield.length;i++){
    if(yield[i].checked) return true;
    else count++;
  }
  if(count>=yield.length) {
    yield[0].focus();
    alert("请选择"+alertstring+"!");
    return false;
  }
}
//检查浮点数是否正确
//yield:校验字段的名称，例:f1.aaa
//alertstring:提示时要显示的字符串
//int_len:数据库中整数位数
//point_len:数据库中小数位数
function check_float(yield,alertstring,int_len,point_len){
  if(yield==null) return true;
  var str=yield.value;
  if(str==null||str=="") return true;
  var intstr="";
  var pointstr="";
  var pos=str.indexOf(".");
  var flag=true;
  if(pos>0){
    intstr=str.substring(0,pos);
    pointstr=str.substring(pos+1);
  }else{
    intstr=str;
  }
  //负数处理
  if(str.substring(0,1)=="-"){
    intstr=intstr.substring(1);
    int_len--;
  }
  if(intstr.length>int_len) flag=false;
  else if(pointstr.length>point_len) flag=false;
  else if(!check_number_val(intstr)) flag=false;
  else if(!check_number_val(pointstr)) flag=false;
  else if((str==null||str=="") && check_number_val(pointstr) ) flag=false;
  if(flag==false)  {
    yield.focus();
    alert(alertstring+"必须为数字，最大范围："+repeat("9",int_len)+"."+repeat("9",point_len)+"！");
    return false;
  }
  return true;
}
//检查浮点数是否正确
//yield:校验字段的名称，例:f1.aaa(数组)
//alertstring:提示时要显示的字符串
//int_len:数据库中整数位数
//point_len:数据库中小数位数
function check_float_array(yield,alertstring,int_len,point_len){
  for(i=0;i<yield.length;i++){
    if(!check_float(yield[i],alertstring,int_len,point_len)) return false;
  }
  return true;
}
//检查日期字段
//yield:校验字段的名称，例:f1.aaa
//alertstring:提示内容
function check_date(yield,alertstring) {
  var strDate=yield.value;
  var flag=true;
  if (strDate==""||strDate==null) return true;
  var year=strDate.substr(0,4);
  var mon=strDate.substr(5,2);
  var date=strDate.substr(8,2);

  if (strDate.length!=10) flag=false;
  else if (year>"2099"||year<"1990") flag=false;
  else if(mon>"12"||mon<"01") flag=false;
  else if(date<"01"||date>"31"||
   (mon=="02"&&(date>"29"||(date>"28"&&(year % 4)>0)))||
   ((mon=="04"||mon=="06"||mon=="09"||mon=="11")&&date>"30")) flag=false;

  if(flag==false)  {
    yield.focus();
    alert(alertstring+"必须为日期格式(YYYY-MM-DD)！");
    return false;
  }
  yield.value=year+"-"+mon+"-"+date;
  return true;
}
//检查日期字段
//yield:校验字段的名称，例:f1.aaa（数组）
//alertstring:提示内容
function check_date_array(yield,alertstring) {
  for(i=0;i<yield.length;i++){
    if(!check_date(yield[i],alertstring)) return false;
  }
  return true;
}
//检查日期时间字段
//yield:校验字段的名称，例:f1.aaa
//alertstring:提示内容
function check_datetime(yield,alertstring) {
  var strDate=yield.value;
  var flag=true;
  if (strDate==""||strDate==null) return true;
  var year=strDate.substr(0,4);
  var mon=strDate.substr(5,2);
  var date=strDate.substr(8,2);
  var hour=strDate.substr(11,2);
  var min=strDate.substr(14,2);
  var sec=strDate.substr(17,2);
  if (year>"2099"||year<"1990") flag=false;
  else if(mon>"12"||mon<"01") flag=false;
  else if(date<"01"||date>"31"||
   (mon=="02"&&(date>"29"||(date>"28"&&(year % 4)>0)))||
   ((mon=="04"||mon=="06"||mon=="09"||mon=="11")&&date>"30")) flag=false;
  else if(hour!=""&&(hour<"00"||hour>"23")) flag=false;
  else if(min!=""&&(min<"00"||min>"59")) flag=false;
  else if(sec!=""&&(sec<"00"||sec>"59")) flag=false;
  if(flag==false)  {
    yield.focus();
    alert(alertstring+"必须为日期时间格式(YYYY-MM-DD MM:SS)！");
    return false;
  }
  return true;
}
//校验函数
//str:许校验的字符
//检查是否为数字
function check_number_val(str){
  if(str==null||str=="") return true;
  else{
    var re =/\d/;
    var i=0;
    var len=str.length;
    for(i=0;i<len;i++){
      if(str.charAt(i).match(re)==null) return false;
    }
  }
  return true;
}
//重复一个字符串
function repeat(str,times){
  var str_return="";
  for(i=0;i<times;i++) str_return+=str;
  return str_return;
}
//判断数组的最大非空字段个数
//yield:校验字段的名称，例:f1.aaa
//alertstring:提示内容
//arraylen：数组的非空字段个数
function get_arraylen(yield){
  for(i=0;i<yield.length;i++){
    if(yield[i].value==null||yield[i].value=="") return i--;
  }
  return i;
}

//学生加的
//用于校验整型
function check_numberlen(yield,alertstring,len){
  if(yield==null) return true;
  var str=yield.value;
  if(str==null||str=="") return true;
  if(!check_number(yield,alertstring)) return false;
  if(!check_len(yield,len,alertstring)) return false;
  return true;
}

//整型数组的校验
//检查整数长度
//yield:校验字段的名称，例:f1.aaa(数组)
//alertstring:提示时要显示的字符串
//int_len:数据库中整数位数
function check_number_arraylen(yield,alertstring,len){
  for(i=0;i<yield.length;i++){
    if(!check_numberlen(yield[i],alertstring,len)) return false;
  }
  return true;
}