//////////////////////////////////////////////////////
//													//
//		project name：网站模板						//
//		by zstang 2005-05-06						//
//		file name :Check.js							//
//		description:检查提交的表单					//
//													//
//////////////////////////////////////////////////////
//1、遍历所有的input
//2、检查EmptyDisable属性，如果存在，则检查；否则不检查。
function Check(loObj){
	if(loObj==null)
	{
		alert("表单检查没有输入正确的参数！");
		return false;
	}
	//有可能只有一个元素
	var FormObjs = loObj.elements;
	var FormLength = FormObjs.length;
	for(var aisl=0;aisl<FormLength;aisl++)
	{
    	if(FormObjs(aisl)==null)
    		continue;
    	var	ValueStr = FormObjs(aisl).value;
		if(typeof(FormObjs(aisl).EmptyDisable)!="undefined")
		{
			if( trim(ValueStr) == "")
	    	{
	    		alert(FormObjs(aisl).label + "的输入不能为空!");
	    		FormObjs(aisl).focus();
	    		return false;
	    	}
   		}
    	if(typeof(FormObjs(aisl).ValueFormat) != "undefined")
    	{
    		var VfStr = FormObjs(aisl).ValueFormat;
    		if(VfStr.toLowerCase()=="num")
    		{
       			if(IsNum(ValueStr) == 0 )
    			{
    				alert("请检查"+FormObjs(aisl).label + "的输入!");
    				FormObjs(aisl).focus();
    				return false;
    			}
    		}
    		if(VfStr.toLowerCase()=="idcard")
    		{
       			if(IsIdCard(ValueStr) == 0 )
    			{
    				alert("请检查"+FormObjs(aisl).label + "的输入!");
    				FormObjs(aisl).focus();
    				return false;
    			}
    		}
    		if(VfStr.toLowerCase()=="int")
    		{
	       	if(IsInt(ValueStr)==0)
	    		{
	    			alert("请检查"+FormObjs(aisl).label + "的输入!");
	    			FormObjs(aisl).focus();
	    			return false;
	    		}
	    		else
	    		{
	    			if(ValueStr.length>0)
	    				FormObjs(aisl).value = parseInt(ValueStr);
	    		}
    		}
    		if(VfStr.toLowerCase() == "email")
    		{
	    		if(IsRightEmail(ValueStr)==0)
	    		{
	    			alert(FormObjs(aisl).label + "的输入不正确 !应为xx@xx.xx");
	    			FormObjs(aisl).focus();
	    			return false;
	    		} 
    		}
	    	if(VfStr.toLowerCase() == "time")
	    	{
	    		if(IsRightTime(ValueStr)==0)
	    		{
	    			alert(FormObjs(aisl).label + "的输入不正确 !应为xx:xx:xx");
	    			FormObjs(aisl).focus();
	    			return false;
	    		} 
	    	}
	    	if(VfStr.toLowerCase() == "date")
	    	{
	    		if(IsRightDate(ValueStr)==0)
	    		{
	    			alert(FormObjs(aisl).label + "的输入不正确 !应为xxxx-xx-xx");
	    			FormObjs(aisl).focus();
	    			return false;
	    		} 
	    	}
	    	if(VfStr.toLowerCase() == "fixphone")
	    	{
	    		if(IsFixPhone(ValueStr)==0)
	    		{
	    			//alert(FormObjs(aisl).label + "的输入不符合格式: 0371-7770011!");
	    			alert(FormObjs(aisl).label + "的输入不正确!");
	    			FormObjs(aisl).focus();
	    			return false;
	    		} 
	    	}
	    	if(VfStr.toLowerCase() == "mobile")
	    	{
	    		if(IsMobilPhone(ValueStr)==0)
	    		{
	    			alert("请检查"+FormObjs(aisl).label + "的输入是否正确!");
	    			FormObjs(aisl).focus();
	    			return false;
	    		} 
	    	}
    	}
	}
	return true;
}
//检查是否为正确的数字，包括小数、整数 (默认为0,1为整数)
function CheckNum(loObj)
{
		if(loObj==null)
		{
			alert("没有为检查传入正确的参数!");
			return false;
		}
		var nIsInt = 0;
		var lsStr = loObj.value;//当前的值
		
		var args = CheckNum.arguments;
		if(args.length>1)
			nIsInt = args[1];
			
		var NumStr;
		if(nIsInt==1)
		{
			if(IsInt(lsStr)!=1){
				alert("输入错误，必须输入数字!");
				event.returnValue = false;
				return;
			}
		}
		else
		{
			if(IsNum(lsStr)!=1){
				alert("输入错误，必须输入数字或者小数点!");
				event.returnValue = false;
				return;
			}
		}
		var MaxValue;
		if(args.length>2)
			MaxValue = args[2];
		if(parseInt(lsStr,10)>MaxValue)
		{
			alert("您输入的值不合理，请检查！");
			event.returnValue = false;
			return;
		}
		event.returnValue = true;		
}

function trim(str)
{
	var resultStr = " "+str+" ";
	if (resultStr.length == 0)return str;
	while (resultStr.charAt(0)==" ") 
	{
		resultStr = resultStr.substr(1)	
	}
	while (resultStr.charAt(resultStr.length-1)==" ") 
	{
		resultStr = resultStr.substr(0,resultStr.length-1)	
	}
	return resultStr;
}

//检查Text框的输入长度
function CheckLength(loObj,MaxLength)
{
	if(loObj==null) return false;
	var Str = loObj.value;
	if(Str.length>MaxLength)
	{
		alert(loObj.label+"的输入超过指定长度！\n\n限定为:"+MaxLength+"个字节。")
		loObj.value = Str.substr(0,MaxLength);
	}
	return true;
}
function IsRightDate(Str)
{
	var r = Str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
	if(r==null)return false;
	var d= new Date(r[1], r[3]-1, r[4]);
	return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
}
function IsRightEmail(Str){
	if(Str.length<1) return 1;
	if(Str.indexOf("@")<=0) return 0;
	if(Str.indexOf(".")<=0) return 0;
	var la_temp = Str.split("@");
	if(la_temp.length<2)
		return 0;
	if(la_temp[0].length<1)
		return 0;		
	if(la_temp[1].length<1)
		return 0;
	var la_b = la_temp[1].split(".");
	if(la_b.length<2)
		return 0;
	if(la_b[0].length<1)
		return 0;	
	if(la_b[1].length<1)
		return 0;
	return 1;
}
function IsMobilPhone(Str){
	if(Str.length==0) return 1;
	//if(Str.length>11 || Str.length<11) return 0;
	//if(Str.charAt(0)!="1" || Str.charAt(1)!="3") return 0;
	return IsInt(Str);
}
function IsFixPhone(Str)
{
	if(Str.length<=0) return 1;
	return IsRightStr(Str,"0123456789-");
	//var reg=/(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/
	//return reg.test(Str);
}
function IsRightTime(Str)
{
	var a = Str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/);
	if (a == null) return false;
	if (a[1]>24 || a[3]>60 || a[4]>60)	return false;
	return true;
}
//判断当前字符串中的所有字符在指定的字符串中
function IsRightStr(lsStr1,lsStr2)
{
	if(lsStr1==null || lsStr2==null) return 0;
	var IsRight=1;
	var ch;
	for(i=0;i < lsStr1.length;i++)
	{
		ch=lsStr1.charAt(i);
		if(lsStr2.indexOf(ch)==-1)
		{
			IsRight=0;
			break;
		}
	}
	return IsRight;
}
//返回在字符串中指定字符的数量
function GetChrCount(lsStr1,lsStr2)
{
	if(lsStr1==null || lsStr2==null) return 0;
	return 1;
}
//判断是否为数字
function IsNum(Str)
{
	if(IsRightStr(Str,"0123456789.-+")==0) return 0;
	if(Str.indexOf("-")>0) return 0;
	if(Str.indexOf("+")>0) return 0;
	if(Str.charAt(Str.length-1)==".") return 0;
	if(Str.lastIndexOf(".")!=Str.indexOf(".")) return 0;
	return 1;
}
function IsIdCard(Str)
{
	if(IsRightStr(Str,"0123456789Xx")==0) return 0;
	//if(Str.indexOf("x")
	return 1;
}
//判断是否为整数
function IsInt(Str)
{
	return IsRightStr(Str,"0123456789");
}
//判断输入的含格式的内容是否超过指定的数量
function CheckHtmlLength(lsObj,lnMax)
{
	//超过1万字，不能再检查了
	var nMaxLimit = 10000;
	if(lsObj.length>nMaxLimit){
		alert("输入的内容超过需要检测的长度！");
		return false;
	}
	try
	{
		var lsStr = lsObj;
		//var myReg = /<(\w+)>/; 
		//只保留剩余的中文字符
		//lsStr = lsStr.replace(myReg,"");
		lsStr = lsStr.replace(/[^\u4E00-\u9FA5]/g,"");
		if(lsStr.length>lnMax){
			alert("对不起，你输入的内容共有"+lsStr.length+"个汉字，超过指定长度！");
			event.returnValue = false;
			return false;
		}
	}
	catch(exception){
	}
	return true;
}
