//定义正则表达式库 
var PatternsDict = new Object(); 

PatternsDict.Long=/^-?(\d+)$/; 
PatternsDict.Int32=/^-?(\d+)$/; 
PatternsDict.Int16=/^-?(\d+)$/; 
PatternsDict.Single=/^-?\d+$|^\d*\.\d+$/; 
PatternsDict.Double=/^-?\d+$|^\d*\.\d+$/; 
PatternsDict.Decimal=/^-?\d+$|^\d*\.\d+$/; 
PatternsDict.NegativeDecimal=/^-\d+$|^\d*\.\d+$/; 
PatternsDict.PositiveDecimal=/^\d+$|^\d*\.\d+$/; 
PatternsDict.NegativeInt=/^-\d+$/; 
PatternsDict.PositiveInt=/^\d+$/; 
PatternsDict.NotEmpty=/^\S+$/; 
PatternsDict.Email=/^[\-\w]+@[\-\w]+(\.[\w]{2,5})+\b/; 
PatternsDict.Boolean=/True|False/;
PatternsDict.String=/.*/;
PatternsDict.DateTime= /^(\d{4})(-|\/|年)(0?\d{1}|1[0-2])(-|\/|月)(0?\d{1}|[12]\d{1}|3[01])日?$/; 
PatternsDict.RegName = /^\w{1}[a-zA-Z0-9_]{5,14}$/;
PatternsDict.RegPassword = /[a-zA-Z0-9_]{5,14}$/;
PatternsDict.NonSelect = /[\S]/;
PatternsDict.Number = /^(-|\+)?\d+(\.\d+)?$/;


//指定检验Form的名称，若验证通过则返回true 
function validateForm() 
{ 	
	//debugger;
	var elArr = document.forms(0).elements; // 将表单中的所有元素放入数组 	
	for(var i = 0; i < elArr.length; i++) 
	{ 

		// 对于表单中的每一个元素... 
		//检查datatype
		with(elArr[i]) 
		{ 
			s = elArr[i].name;
			var v = elArr[i].ValidateType; // 获取其validator属性 
	
			if(v && Trim(value) != "") 
			{
				//alert(v);           // 如果该属性不存在,忽略当前元素 
				var thePat = PatternsDict[v];   // 选择验证用的正则表达式 
				if (thePat != undefined)
				{
				var gotIt = thePat.test(value); // 用正则表达式验证elArr[i]的值 
				if(!gotIt) 
				{ 
					//报错 
					var desc = elArr[i].description
						if (desc)
						{
							alert(description + "的格式不正确!"); 
						}
						else
						{
							alert(" 输入值：" + value + "格式不正确!"); 
						}
					//聚焦 
					//focus(); 
					//选中文本内容 
					if(v.toLowerCase() != "select") 
					{ 
						select(); 
					} 
					return false; 
				}
				} 
			} 
		}		
		
		//检查allownull
		with(elArr[i]) 
		{ 
			var v = elArr[i].allownull; // 获取其validator属性 
			if(v == "False")
			{
				if(value == "") 
				{
				
					var desc = elArr[i].description;
						if (desc)
						{
						
						
							alert(description + "不能为空"); 
						}
						else
						{
							alert("不能为空");
						}
    
    
					//聚焦 
					//focus(); 
					//选中文本内容 
					if(v.toLowerCase() != "select") 
					{ 
						try{
							select(); 
						}
						catch(e){}
						finally{}
					} 
					return false;
				}
			} 
		}
		
		
		//检查RegEx
		with(elArr[i]) 
		{ 
			var v = elArr[i].regex; // 获取其validator属性 
			if(v && value != "")
			{
				var thePat = PatternsDict[v];
				//alert(value);				
				var gotIt = thePat.test(value); // 用正则表达式验证elArr[i]的值 
				if(!gotIt) 
				{ 
					//报错 
					var desc = elArr[i].description
						if (desc)
						{
							alert(description + "的格式不正确!"); 
						}
						else
						{
							alert(" 输入值：" + value + "格式不正确!"); 
						}
					//聚焦 
					//focus(); 
					//选中文本内容 
					try
					{
						if(v.toLowerCase() != "select") 
						{ 
							select(); 
						}
					} 
					catch(e) {
						//print("Outer catch caught " + e);
					}
					finally {
						//print("Outer finally running");
					}

					
					
					return false; 
				} 				
			} 
		}		
		
	}
	
	return true; 
}

