<!--
var Dict = new Object();
Dict.整数 = /^-?\d+$/ ;
Dict.中文字符 = /[\u4E00-\u9FA5]/g ;
Dict.email = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;　　//email地址 
Dict.非负整数 = /^\d+$/;　　//非负整数（正整数 + 0） 
Dict.正整数 = /^[0-9]*[1-9][0-9]*$/;　　//正整数 
Dict.数字 = /^[0-9]*[1-9][0-9]*$/;　　//正整数 
Dict.负整数 = /^-[0-9]*[1-9][0-9]*$/;　　//负整数 
Dict.非负浮点数 = /^\d+(\.\d+)?$/;　　//非负浮点数（正浮点数 + 0） 
Dict.正浮点数 = /^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/;　　//正浮点数 
Dict.非正浮点数 = /^((-\d+(\.\d+)?)|(0+(\.0+)?))$/;　　//非正浮点数（负浮点数 + 0） 
Dict.负浮点数 = /^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$/;　　//负浮点数 
Dict.浮点数 = /^(-?\d+)(\.\d+)?$/;　　//浮点数 
Dict.英文 = /^[A-Za-z]+$/;　　//由26个英文字母组成的字符串 
Dict.大写英文 = /^[A-Z]+$/;　　//由26个英文字母的大写组成的字符串 
Dict.小写英文 = /^[a-z]+$/;　　//由26个英文字母的小写组成的字符串 
Dict.数字和英文 = /^[A-Za-z0-9]+$/;　　//由数字和26个英文字母组成的字符串 
Dict.密码字符 = /^[A-Za-z0-9!@*_-]+$/;　　//由数字和26个英文字母和!@*_-组成的字符串
Dict.数字和英文和下划线 = /^\w+$/;　　//由数字、26个英文字母或者下划线组成的字符串 
Dict.日期=/^(\d{4})\-(\d{2})\-(\d{2})$/ ; //yyyy-mm-dd的日期
Dict.时间=/^(\d{4})\-(\d{2})\-(\d{2}) (\d{2}):(\d{2}):(\d{2})$/ ; //yyyy-mm-dd hh:mm:ss 的时间
Dict.年月=/^(\d{4})\-(\d{2})$/ ; //yyyy-mm的年月格式
Dict.六位数字=/^(\d{6})$/ ; //六位数字，股格式票代码
Dict.金额=/^-?[0-9]+$|^[0-9]+\.[0-9]{1,2}$/;

/*
Dict.notMinusInteger = /^\d+$/;　　//非负整数（正整数 + 0） 
Dict.positiveInteger = /^[0-9]*[1-9][0-9]*$/;　　//正整数 
Dict.minusInteger = /^-[0-9]*[1-9][0-9]*$/;　　//负整数 
Dict.notMinusFloat = /^\d+(\.\d+)?$/;　　//非负浮点数（正浮点数 + 0） 
Dict.positiveFloat = /^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/;　　//正浮点数 
Dict.notMinusFloat = /^((-\d+(\.\d+)?)|(0+(\.0+)?))$/;　　//非正浮点数（负浮点数 + 0） 
Dict.minusFloat = /^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$/;　　//负浮点数 
Dict.float = /^(-?\d+)(\.\d+)?$/;　　//浮点数 
Dict.letter = /^[A-Za-z]+$/;　　//由26个英文字母组成的字符串 
Dict.capitalLetter = /^[A-Z]+$/;　　//由26个英文字母的大写组成的字符串 
Dict.smallLetter = /^[a-z]+$/;　　//由26个英文字母的小写组成的字符串 
Dict.numberAndLetter = /^[A-Za-z0-9]+$/;　　//由数字和26个英文字母组成的字符串 
Dict.numberAndLetterAndUnderline = /^\w+$/;　　//由数字、26个英文字母或者下划线组成的字符串 
*/


function validateForm(theForm){
// 若验证通过则返回true
	return(validateEachElement(theForm));
	return false;
}

//获取字符串长度，汉字等算2字节
function strlen(str)
{
	var i;
	var len;
	
	len = 0;
	for (i=0;i<str.length;i++)
	{
		if (str.charCodeAt(i)>255) len+=2; else len++;
	}
	return len;
}

function validateEachElement(theForm){// 若验证通过则返回true
	var elArr = theForm.elements; // 将表单中的所有元素放入数组
	for(var i = 0; i < elArr.length; i++)
	{
		with(elArr[i])// 对于表单中的每一个元素...
		{
			var caption=elArr[i].caption; //获取名称
			var value=elArr[i].value; //获取value属性
			var canNull=elArr[i].canNull; //获取canNull属性
			if(canNull=="" || canNull==null)
			  canNull = elArr[i].cannull;
			
			var minLen=elArr[i].minLen; //获取minLen属性
			if(minLen)
				canNull="false"; //若设置了长度下限，则不能为空				
			var maxLen=elArr[i].maxLen; //获取maxLen属性
			var validator = elArr[i].validator; // 获取其validator属性			
			var maxNum=elArr[i].maxNum; //获取maxNum属性
			var minNum=elArr[i].minNum; //获取minNum属性
			
			if(!canNull)
				canNull="true"; //默认允许为空
				
			//校验canNull是否符合要求
			if(canNull=="false" && (!value) && (value=="") )
			{
				alert(caption+"必须填写！");
				try{
				elArr[i].select();
				}
				catch(E){}
				return false;
			}
			else
			{
				if(validator &&(canNull=="false" || value!="" ) )
				{	//校验validator是否符合要求
					var thePat = Dict[validator];   // 选择验证用的正则表达式
					var gotIt = thePat.exec(value); // 用正则表达式验证elArr[i]的值			
					if(!gotIt)
					{
						if(validator.indexOf("浮点数")>=0)
							alert(caption+" 输入值必须是"+validator.replace("浮点数","数值")+"。请修改！"); 
						else
							alert(caption+" 输入值必须是"+validator+"。请修改！"); 
						elArr[i].select();
						return false;
					}
				}
			}
			
			//校验数值上限maxNum
			if(maxNum)
			{
				if(parseFloat(value,10)>parseFloat(maxNum,10))
				{
					alert(caption+" 不能大于"+parseFloat(maxNum,10)+"！");
					elArr[i].select();
					return false;
				}
			}			

			//校验数值下限minNum
			if(minNum)
			{
				if(parseFloat(value,10)<parseFloat(minNum,10))
				{
					alert(caption+" 不能小于"+parseFloat(minNum,10)+"！");
					elArr[i].select();
					return false;
				}
			}			

			//校验字符串长度下限minLen
			if(minLen)
			{
				var thelen=strlen(value);
				if(thelen<parseInt(minLen))
				{
					alert(caption+" 长度不能小于"+parseInt(minLen)+"个字节！（现为"+thelen+"个字节）");
					elArr[i].select();
					return false;
				}
			}			

			//校验字符串长度上限maxLen
			if(maxLen)
			{
				var thelen=strlen(value);
				if(thelen>parseInt(maxLen))
				{
					alert(caption+" 长度不能大于"+parseInt(maxLen)+"个字节！（现为"+thelen+"个字节）");
					elArr[i].select();
					return false;
				}
			}			

			
		}
	}
	return true;
}
//-->
