﻿<!--

//********************************************************************************
//*                                                                              *
//    功能描述：通用表单校验函数 UTF-8编码格式
//    适用版本：boss.com
//    初始创建：衡华

//*                                                                              *
//********************************************************************************

//去除字符串左端空格

function LTrim(str) {
  return str.replace(/^\s*/, '');
}

//去除字符串右端空格

function RTrim(str) {
  return str.replace(/\s*$/, '');
}

//去除字符串两端空格

function Trim(str) {
  return LTrim(RTrim(str));
}

//检查必填项
function CheckNotNull(objField, strText) {
  if (Trim(objField.value) == "") {
    alert("请填写“" + strText + "”！");
    objField.focus();
    return false;
  }
  return true;
}

//检查字符串长度
function CheckStringLength(objField, strText, numMinLen, numMaxLen){
  if(objField.value == "") return true;
  if(numMinLen != null){
    if(objField.value.length < numMinLen){
      alert("“" + strText + "”的长度不能少于 " + numMinLen.toString() + " 个字符！");
      objField.focus();
      return false;
    }
  }
  if(numMaxLen != null){
    if(objField.value.length > numMaxLen){
      alert("“" + strText + "”的长度不能多于 " + numMaxLen.toString() + " 个字符！");
      objField.focus();
      return false;
    }
  }
  return true;
}


//检查输入内容是否为字母、数字和下划线

function CheckAlphaNumber(objField, strText, numMinLen, numMaxLen) {
  if (LTrim(objField.value) == "") return true;
  var RE = new RegExp("[^a-zA-Z0-9_]");
  if (objField.value.search(RE) != -1) {
    alert("“" + strText + "”中只能填写字母、数字或下划线！");
    objField.focus();
    return false;
  }
  return CheckStringLength(objField, strText, numMinLen, numMaxLen);
}

//检查输入内容是否为字母、数字和连字号

function CheckAlphaNumberHyphen(objField, strText, numMinLen, numMaxLen) {
  if (LTrim(objField.value) == "") return true;
  var RE = new RegExp("[^a-zA-Z0-9/-]");
  if (objField.value.search(RE) != -1) {
    alert("“" + strText + "”中只能填写字母、数字或连字号！");
    objField.focus();
    return false;
  }
  return CheckStringLength(objField, strText, numMinLen, numMaxLen);
}

//检查输入内容是否为字母、数字
function CheckAlphaNum(objField, strText, numMinLen, numMaxLen) {
  if (LTrim(objField.value) == "") return true;
  var RE = new RegExp("[^a-zA-Z0-9]");
  if (objField.value.search(RE) != -1) {
    alert("“" + strText + "”中只能填写字母或数字！");
    objField.focus();
    return false;
  }
  return CheckStringLength(objField, strText, numMinLen, numMaxLen);
}

//检查输入内容是否为数字（允许两位小数点）
function CheckDecimalpointNumer(objField, strText, numMinLen, numMaxLen){
  if (objField.value == "") return true;
  var filter=/^[\+-]?[1-9]?\d*(\.\d{1,2})?$/;
	if(filter.test(objField.value))return true;
	else
	{
	  alert("“" + strText + "”中只能填写数字，小数点和正负号，小数点后最多两位！");
      objField.focus();
      return false;
	}
  return CheckStringLength(objField, strText, numMinLen, numMaxLen);    
}


function CheckNum(objField, strText, numMinLen, numMaxLen) {
  if (objField.value == "") return true;
  var RE = new RegExp("[^0-9]");
  if (objField.value.search(RE) != -1) {
    alert("“" + strText + "”中只能填写数字！");
    objField.focus();
    return false;
  }
  return CheckStringLength(objField, strText, numMinLen, numMaxLen);
}

//检查输入内容是否为电话号码
function CheckPhone(objField, strText, numMinLen, numMaxLen) {
  if (objField.value == "") return true;
  var RE = new RegExp("[^0-9-]");
  if (objField.value.search(RE) != -1) {
    alert("“" + strText + "”中只能填写数字及-！");
    objField.focus();
    return false;
  }
  return CheckStringLength(objField, strText, numMinLen, numMaxLen);
}

//检查字符串是否出现中文
function CheckNoChinese(objField, strText, numMinLen, numMaxLen) {
  if(objField.value == "") return true;
  var RE = new RegExp("[^\x01-\x7F]");
  if (objField.value.search(RE) != -1) {
    alert("“" + strText + "”中不能出现中文！");
    objField.focus();
    return false;		
  }
  return CheckStringLength(objField, strText, numMinLen, numMaxLen);
}

//检查是否为数字类型
function CheckNumber(objField, strText, numMinValue, numMaxValue) {
  if(objField.value == "") return true;
  if(isNaN(objField.value)){
    alert("“" + strText + "”中只能填写数字！");
    objField.focus();
    return false;
  }
  var numValue = parseFloat(objField.value);
  if(numMinValue != null){
    if(numValue < numMinValue){
      alert("“" + strText + "”的值不能小于 " + numMinValue.toString() + " ！");
      return false;
    }
  }
  if(numMaxValue != null){
    if(numValue > numMaxValue){
      objField.focus();
      alert("“" + strText + "”的值不能大于 " + numMaxValue.toString() + " ！");
      return false;
    }
  }
  return true;
}

//检查EMail格式
function CheckEmail(objField, strText){
  var objValue = Trim(objField.value);
  if(objValue=="") return true;

  var strErr = "“" + strText + "”E-mail地址格式错误！";
  var RE=/[^A-Za-z0-9_-]/;
  var parts=objValue.split("@");

  if (parts.length!=2)		//	not format as ***@***
  {
    alert(strErr);
    objField.focus();
    return false;
  }

  var oneparts;

  oneparts=parts[0].split(".");		//	first-parts
  
  for(i=0;i<oneparts.length;i++)
  {
    if (oneparts[i].length==0)	//连续两点..
    {
      alert(strErr);
      objField.focus();
      return false;
    }
    if (RE.exec(oneparts[i])!=null)
    {
      alert(strErr);
      objField.focus();
      return false;
    }
  }
  
  oneparts=parts[1].split(".");		//	second-parts

  if (oneparts.length<2)	//连续两点..
  {
    alert(strErr);
    objField.focus();
    return false;
  }

  for(i=0;i<oneparts.length;i++)
  {
    if (oneparts[i].length==0)	//连续两点..
    {
      alert(strErr);
      objField.focus();
      return false;
    }
    if (RE.exec(oneparts[i])!=null)
    {
      alert(strErr);
      objField.focus();
      return false;
    }
  }
  return true;
}

//检查日期类型

function CheckDate(objField,strText,dateMinumValue,dateMaxValue){
  if(objField.value=="") return true;
  
  //Check Data
  var dates=objField.value.split(new RegExp("-|/| |:"));
  for(var i=0;i<6;i++){
    if(isNaN(dates[i])){
      if(i<3){
        objField.focus();
        alert(strText+":日期错误！");
        return false;
      }else{
        dates[i]=0;
      }
    }else{
      if(i==1) dates[i]--;
    }
  }
  if (dates[0]<100 && dates[0]>30) dates[0]=1900+parseInt(dates[0]);
  if (dates[0]<100 && dates[0]<=30) dates[0]=2000+parseInt(dates[0]);
  if (dates[0]<1900 || dates[0]>2100 || dates[1]>11 || dates[1]<0 || dates[2]>31 || dates[2]<1
   || dates[3]>60 || dates[4]>60 || dates[5]>60)
  {
    alert(strText+":日期错误！");
    return false;
  }
  var dateDate=new Date(dates[0],dates[1],dates[2],dates[3],dates[4],dates[5]);
  
  if(dateDate=="Invalid Date"){
    objField.focus();
    alert(strText+":日期错误！");
    return false;
  }

  //Out put date
  objField.value = dateDate.getFullYear()+"-"+(dateDate.getMonth()+1)+"-"+dateDate.getDate();
  if (dates[3]>0 || dates[4]>0 || dates[5]>0)	objField.value =objField.value+" "+dateDate.getHours()+":"+dateDate.getMinutes()+":"+dateDate.getSeconds();

  //Check minimum
  if(dateMinumValue!=null){
    if(dateDate<dateMinumValue){
      objField.focus();
      alert(strText+"不能早于 "+dateMinumValue.getFullYear()+"年"+(dateMinumValue.getMonth()+1)+"月"+dateMinumValue.getDate()+"日"+" ！");
      return false;
    }
  }
  //Check maximum
  if(dateMaxValue!=null){
    if(dateDate>dateMaxValue){
      objField.focus();
      alert(strText+"不能迟于 "+dateMaxValue.getFullYear()+"年"+(dateMaxValue.getMonth()+1)+"月"+dateMaxValue.getDate()+"日"+" ！");
      return false;
    }
  }
  return true;
}

//格式化日期

function FormatDate(strVal){
  if (strVal=="") return null;
      
  //Check Data
  var dates=strVal.split(new RegExp("-|/| |:"));
  for(var i=0;i<6;i++){
    if(isNaN(dates[i])){
      if(i<3){
        return null;
      }else{
        dates[i]=0;
      }
    }else{
      if(i==1) dates[i]--;
    }
  }
  var dateDate = new Date(dates[0],dates[1],dates[2],dates[3],dates[4],dates[5]);
  if(dateDate=="Invalid Date"){
    return null;
  }
  return dateDate;		
}

//输出日期
function getDate(strDate){
  if(strDate=="") return true;
  
  //Check Data
  var dates=strDate.split(new RegExp("-|/| |:"));
  for(var i=0;i<6;i++){
    if(isNaN(dates[i])){
      if(i<3){
        return false;
      }else{
        dates[i]=0;
      }
    }else{
      if(i==1) dates[i]--;
    }
  }
  if (dates[0]<100 && dates[0]>30) dates[0]=1900+parseInt(dates[0]);
  if (dates[0]<100 && dates[0]<=30) dates[0]=2000+parseInt(dates[0]);
  if (dates[0]<1900 || dates[0]>2100 || dates[1]>11 || dates[1]<0 || dates[2]>31 || dates[2]<1
   || dates[3]>60 || dates[4]>60 || dates[5]>60)
  {
    return false;
  }
  var dateDate=new Date(dates[0],dates[1],dates[2],dates[3],dates[4],dates[5]);
  
  if(dateDate=="Invalid Date"){
    return false;
  }

  //Out put date
  return dateDate;
}

//检查一组中是否有复选框被选中
function CheckBoxSelected(frm,CheckBoxId)
{
	var CB;
	for(var i=0; i<frm.elements.length; i++)
	{
		CB = frm.elements[i];
		if (CB.type=="checkbox" && CB.id.indexOf(CheckBoxId) > -1)
		{
			if (CB.checked == true)
				return true;
		}
	}
	return false;
}

//实现复选框全选
function CheckAll(frm,CheckAllId,CheckBoxId)
{
	var CB;
	var CheckBoxAll = document.getElementById(CheckAllId)
	for(var i=0; i<frm.elements.length; i++)
	{
		CB = frm.elements[i];
		if (CB.type=="checkbox" && CB.id.indexOf(CheckBoxId) > -1)
		{
		    CB.checked = CheckBoxAll.checked;
		}
	}
}



function isIdCardNo(num)
{
    if (isNaN(num)) {
        //alert("输入的不是数字！"); 
        return false;
    }
    var len = num.length, re; 
    if (len == 15)
      re = new RegExp(/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{3})$/);
    else if (len == 18)
      re = new RegExp(/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\d)$/);
    else {
        //alert("输入的数字位数不对！"); 
        return false;
    }
    var a = num.match(re);
    if (a != null)
    {
      if (len==15)
      {
        var D = new Date("19"+a[3]+"/"+a[4]+"/"+a[5]);
        var B = D.getYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];
      }
      else
      {
        var D = new Date(a[3]+"/"+a[4]+"/"+a[5]);
        var B = D.getFullYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];
      }
      if (!B) {
        //alert("输入的身份证号 "+ a[0] +" 里出生日期不对！"); 
        return false;
        }
    }
    return true;
}

//-->