function check()
{
	var count=document.all.length;
	for(var i=0;i<count;i++)
	{
		var val=document.all[i];
		if(val.Check!=null && val.Check!="")
		{			
			if(val.notNull!=null)
			{
				if(!isNull(val)) return false;
			}					
			if(val.ValueType=="int")
			{
				if (!isInt(val)) return false;
			}
			if(val.ValueType=="number")
			{
				if (!isNumber(val)) return false;
			}			
			if(val.ValueType=="IdCard")
			{
				if (!isIdCard(val)) return false;
			}
			if(val.Length!=null)
			{
				if (!isLength(val,val.Length,val.notNull==null?false:true)) return false;
			}
			if(val.minLength!=null)
			{
				if (!isBetweenLength(val,val.minLength,val.maxLength,val.notNull==null?false:true)) return false;			
			}			
			if(val.isValue!=null){
				if(!isValue(val,val.isValue)) return false;
			}
			if(val.SameValue!=null)
			{
				if(!isSameValue(val,val.SameValue)) return false;
			}
		}
	}
	return true;
}
 function isNumber(val){//检测是否为小数
	var r, re;// 声明变量。
	re = new RegExp("^(\\d*|\\d*\\.\\d{1,})$","i");//创建正则表达式对象。
	r = val.value.match(re);// 在字符串 s 中查找匹配。
	if (r==null)
	{
		var str=val.id 	+"必须数字如10.09";
		return 	warnInvalid(val,str);
		return false;
	}
	return true;
 }
function isIdCard(val){//检测"身份证"有效性
    var r, re;// 声明变量。
	//必须为15或18其18位的最后一位只能位数字或x		
	re = new RegExp("^(\\d{15}|\\d{18}|\\d{17}x)$","i");// 创建正则表达式对象。
	r = val.value.match(re);// 在字符串 s 中查找匹配。
	if (r==null)
	{
		var str=val.id 	+"必须为15或18其18位的最后一位只能位数字或x";
		return 	warnInvalid(val,str);
		return false;
	}
   return true;
 }

//判断是否为空
function isNull(val)
{
	if(val.type!=null && val.type=="radio")
	{	
		var valTemp=document.all[val.name];
		if(valTemp.length!=null)
		{ 		
			for(var i=0;i<valTemp.length;i++)
			{			
				if(valTemp[i].checked!=null)
				{				
					if(valTemp[i].checked) return true;
				}					
			}
		   var str="请选择"+val.id;
		   return warnInvalid(val,str);
		}
    }
	if(val.value.length>0)
	{
		return true;
	}
	var str="请填写"+val.id;
	return 	warnInvalid(val,str);
}
//字符串是否为指定的长度
function isLength(val,length,notNull)
{
	if(!notNull)
	{
		if (val.value=="") return true;
	}
	var lengths=length.split(",");
	for(var i=0;i<lengths.length;i++)
	{
		if(lengths[i]!="" && val.value.length==parseInt(lengths[i]))
		{
			return true;
		}
	}
	var str=val.id +  "的长度必须为" +  length;
	return 	warnInvalid(val,str);
}
//判断字符串的长度是否在minLength和maxLength之间
function isBetweenLength(val,minLength,maxLength,notNull)
{
	if(!notNull)
	{
		if (val.value=="") return true;
	}
	if(val.value.length<=maxLength &&  val.value.length>=minLength) 
	{
		return true;
	}
	var str=val.id +  "的长度必须在" +  minLength +  "~" +  maxLength +  "之间";
	return 	warnInvalid(val,str);
}
 //判断是否为预定的值如果是则代表没选择(主要针对select)
 function isValue(val,value)
 {
	 if(val.value==value)
	 {
		var str=value;
		//alert(value)
		//return 	false;
		return warnEmpty(val,str);
	 }
	 return true;
 }
 function isInt(val){//检测是否为整形

	var r, re;// 声明变量。
	re = new RegExp("^\\d*$","i");// 创建正则表达式对象。
	r = val.value.match(re);// 在字符串 s 中查找匹配。
	if (r==null)
	{
		var str=val.id + "必须为数字";
		return 	warnInvalid(val,str);
	}
   return true;
 }

function  isSameValue(val,value)
{
	if(val.value!=document.all[value].value)
	{
		var str=val.id +"必须和" +document.all[value].id+"相同";
		return warnInvalid(val,str);
	}
	 return true;
}
//显示错误提示但不选定
 function warnEmpty (theField,s){
	alert(s);
    theField.focus();
    return false;
 }
 //错误提示并选定
 function warnInvalid(theField,s){
	alert(s);
    theField.focus();
    theField.select();
    return false;
 }
 function opens(url,w,h,target)
 {
	 var widths=window.screen.width;
	 var heights=window.screen.height;
	 var positionW=(widths-w)/2;
	 var positionH=(heights-h)/2;
	 window.open(url,target,"height="+h+",width="+w+",left="+positionW+",top="+positionH+",toolbar=no,menubar=no,location=no")
 }