//类型定义
//utc_notNull 不能为空
//utc_date YYYY-MM-DD日期格式
//utc_number 数字
//utc_telno 手机号码
//utc_chinese 中文
function utc_checkinput(form_obj){
	for (var i=0; i<form_obj.elements.length; i++ ){
		var elem = form_obj.elements[i];
		var summary = elem.summary;

		var utc_notNull = elem.utc_notNull;
		var utc_date = elem.utc_date;
		var utc_time = elem.utc_time;
		var utc_number = elem.utc_number;
		var utc_float = elem.utc_float;
		var utc_telno = elem.utc_telno;
		var utc_chinese = elem.utc_chinese;
		var utc_email = elem.utc_email;
		//var utc_compare = elem.utc_compare;
		var utc_matchObj=elem.utc_matchObj;
		var utc_length = elem.utc_length;
		var utc_length_sign = elem.utc_length_sign;
		var utc_time_hhmm = elem.utc_time_hhmm;

		if(utc_length!=null)
		{
			var sSign = "";
			if (utc_length_sign==">="){
				if (elem.value.length<utc_length){
					sSign = "不小于";
				}
			}else if (utc_length_sign==">"){
				if (elem.value.length<=utc_length){
					sSign = "大于";
				}
			}else if (utc_length_sign=="<="){
				if (elem.value.length>utc_length){
					sSign = "不大于";
				}
			}else if (utc_length_sign=="<"){
				if (elem.value.length>=utc_length){
					sSign = "小于";
				}
			}else if (utc_length_sign=="<>" || utc_length_sign=="!="){
				if (elem.value.length==utc_length){
					sSign = "不等于";
				}
			}else{
					sSign = "为";
			}

			if(trim(sSign)!="")
			{
				alert(summary+"长度必须"+sSign+utc_length+"位！");
				elem.focus();
				return false
			}
		}
		if (utc_matchObj!=null){
			//alert(utc_matchObj);
			var matchObj=eval("form_obj."+utc_matchObj)
			if (elem.value!=matchObj.value){
				alert(summary+"两次输入不一致！");
				elem.focus();
				return false
			}
		}
		if (utc_float=="true"){
			if (isNaN(elem.value)){
				alert(summary+"的输入不是数字");
				elem.focus();
				return false
			}
		}
		if (utc_email=="true"){
			if (!isEmail(elem.value)){
				alert(summary+"格式不正确！");
				elem.focus();
				return false
			}
		}
		if (utc_notNull=="true"){
			if (isNull(elem.value)){
				alert(summary+"不能为空！");
				elem.focus();
				return false
			}
		}
		if (utc_date=="true"){
			if (!isDate(elem.value)){
				alert(summary+"不是有效的日期格式！");
				elem.focus();
				return false
			}
		}
		/*
		if (utc_time=="true"){
			if (!isTime(elem.value)){
				alert(summary+"不是有效的时间格式！");
				elem.focus();
				return false
			}
		}
		*/
		if (utc_number=="true"){
			if (!isNumber(elem.value)){
				alert(summary+"不是有效的数值！");
				elem.focus();
				return false
			}
		}
		if (utc_telno=="true"){
			if (!isTelno(elem.value)){
				alert(summary+"不是有效的手机号码！");
				elem.focus();
				return false
			}
		}
		if (utc_chinese=="true"){
			if (!isChinese(elem.value)){
				alert(summary+"不是中文！");
				elem.focus();
				return false
			}
		}
		if (utc_time=="true"){
			if (!isTime(elem.value)){
				alert(summary+"不是有效的时间格式(hh:mm:ss)！");
				elem.focus();
				return false
			}
		}
		if (utc_time_hhmm=="true"){
			if (!isTime_hhmm(elem.value)){
				alert(summary+"不是有效的时间格式(hh:mm)！");
				elem.focus();
				return false
			}
		}
	}
	return true;
}

function isNull(str){ //判断文本框中的字符串是否为空
	str = trim(str);
	if ( str=="")
		return true;
	return false;
}

function isTelno(str){
	if (isNull(str)){
		return true;
	}
	if (strlen(str)!=11){
		return false;
	}else{
		if (!isNumber(str)){
			return false;
		}
		if (str.substr(0,1)!="1"){
			return false;
		}
	}
	return true;
}

function isDate(dateStr)
{
	if (isNull(dateStr)){
		return true;
	}

	dateStr = trim(dateStr);
	var result = true;

	if (dateStr.length!=10)
		result =  false;
	else
	if (dateStr.substr(4,1)!="-")
		result =  false;
	else
	if (dateStr.substr(7,1)!="-")
		result =  false;
	else{
		if(!check_date(dateStr))
		{
			result = false;
		}
	}
	return result;
}

function isNumber(str){ //判断是否为正整数
	if (isNull(str)){
		return true;
	}
	str=trim(str);
	var i=0;
	var ch;
	for(i=0;i<str.length;i++){
		ch=str.charAt(i);
		if(ch<'0'||ch>'9'){
			return false
		}
	}
	if(str.charAt(0)=='0'&&str.length>1){
		//return false;
	}
	return true;
}


function isTime(str){ //判断是否为时间
	if (isNull(str)){
		return true;
	}
	str=trim(str);
	var i=0;
	var ch;
	if (str.length!=8){
		return false;
	}else{
		for(i=0;i<str.length;i++){
			if (i!=2 && i!=5){
				ch=str.charAt(i);
				if(ch<'0'||ch>'9'){
					return false
				}
			}
		}
		if (str.substring(0,2)>=24 || str.substring(3,5)>=60 || str.substring(6,8)>=60){
			return false;
		}
		if (str.substring(2,3)!=":" || str.substring(5,6)!=":"){
			return false;
		}
	}
	return true;
}

function isTime_hhmm(str){ //判断是否为时间hh:mm
	if (isNull(str)){
		return true;
	}
	str=trim(str);
	var i=0;
	var ch;
	if (str.length!=5){
		return false;
	}else{
		for(i=0;i<str.length;i++){
			if (i!=2){
				ch=str.charAt(i);
				if(ch<'0'||ch>'9'){
					return false
				}
			}
		}
		if (str.substring(0,2)>=24 || str.substring(3,5)>=60){
			return false;
		}
		if (str.substring(2,3)!=":"){
			return false;
		}
	}
	return true;
}

function isChinese(str){
	if (isNull(str)){
		return true;
	}
	str = trim(str);
	for(var i=0;i<str.length;i++){
		if(str.charCodeAt(i)<=255){
			return false;
		}
	}
	return true;
}


function trim(str){
	var i,j,k;
	str=" "+str+" ";
	i=0;
	k=str.length;
	while(str.indexOf(" ")==0 && i < k){ //截掉左边空格
		j=str.length;
		str=str.substring(1,j);
		i++;
	}
	i=0;
	k= str.length;
	while((str.lastIndexOf(" ")==str.length-1) && i < k){ //截掉右边空格
		j=str.length-1;
		str=str.substring(0,j);
		i++;
	}
	return str;
}

function strlen(str){ //用于计算字符串长度
	var k=0;
	str=trim(str);
	k= str.length;
	return k;
}

//function check_year_month_date(str0,str1,str2) 检查日期输入的合法性 str0 为年，str1 月 str2 日
//如果日期合法返回1，否则返回0
function check_year_month_date(str0,str1,str2)
{
  var i;
  var j;
  var k;
  var flag=1;
  i=str1;
  k=str2;
  if(str0.length>4)
  {
    flag=0;
  }
  if(i<1||i>12)
  {
    flag=0;
  }
  else if(i==4||i==6||i==9||i==11)
  {
    if(k>30||k<1)
    {
      flag=0;
    }
  }
  else if(i==2)
  {
    j=parseInt(str0);
    if(((j%100)&&(!(j%4)))||((!(j%100))&&(!(j%400))))
    {
      if(k>29||k<1)
      {
	flag=0;
      }
    }
    else
    {
      if(k>28||k<1)
      {
	flag=0;
      }
    }
  }
  else if(k<1||k>31)
  {
    flag=0;
  }
  return flag;
}

//function check_date(str)　检查字符串str是否为日期格式，该函数支持的日期分隔符包括 -, /　两种
//如果是日期格式返回true,否则返回false;
function check_date(str)
{
   var count_temp=0;//分隔符个数
   var str_temp=trim(str);
   var i=0,j=0,k=0;
   if(str_temp.length!=10)
   {
     return false;
   }
   for(j=0;j<str_temp.length;j++)
   {
     ch=str_temp.charAt(j);
     if((ch<"0"||ch>"9")&&ch!="-"&&ch!="/")//非法字符检查
     {
       return false;
     }
     else if(ch=="-"||ch=="/")
     {
       if(str_temp.charAt(j+1)=="-"||str_temp.charAt(j+1)=="/")//分隔符位置检查
       {
		 return false;
       }
       count_temp++;
       if(count_temp>2)//分隔符个数检查
       {
		 return false;
       }
       else if(count_temp==1)//检查年份
       {
		 k=j;
		 str1=str_temp.substring(0,j);
		 str1=trim(str1);
       }
       else if(count_temp==2)
       {
		 str2=str_temp.substring(k+1,j);
		 str2=trim(str2);
		 if(str2.length<1||str2.length>2)//检查月份
		 {
		   return false;
		 }
		 str3=str_temp.substring(j+1,str_temp.length);
		 str3=trim(str3);
		 if(str3.length<1||str3.length>2)//检查日期
		 {
		   return false;
		 }
       }
     }
   }
   if((check_year_month_date(str1,str2,str3)==0)||count_temp<2)
   {
     return false;
   }
   return true;
}
function isDigit(ch)//判断字符是否为数字
{
	if(ch<='9'&&ch>='0')
	{
		return true;
	}
	return false;
}
function isAl(ch)//判断字符是否为英文字母
{
	if((ch>='A'&&ch<='Z')||(ch>='a'&&ch<='z'))
	{
		return true;
	}
	return false;
}
//检查该字符串是否为邮件格式。
function isEmail(str)
{
	str=trim(str);
	var i=0,j=0;
	var ch;
	if (!isNull(str)){
		i=str.indexOf("@");
		j=str.lastIndexOf(".");
		p=str.indexOf(".");
		k=str.length;
		if(i<=0||p<=2)
		{

			return false;
		}
		if(p<i+2)//点号要是@后至少两位。
		{

			return false;
		}
		if(i>k-4||j>k-2)
		{

			return false;
		}
	    for(m=0;m<str.length;m++)
		{
			ch=str.charAt(m);
			if(!isDigit(ch)&&!isAl(ch)&&ch!='@'&&ch!='.'&&ch!='_'&&ch!='-')
			{

				return false;
			}
		}
	}
	return true;

}