
//定义正则表达式库 
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-]+(\.[\w-]+)+$/; 
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 = /[a-zA-Z0-9_]{6,15}$/;
PatternsDict.RegPassword = /[a-zA-Z0-9_]{6,15}$/;
PatternsDict.NonSelect = /[\S]/;
PatternsDict.Number = /^-?(\d+)$/;

//指定检验Form的名称，若验证通过则返回true 
function validateForm(){ 	
	//debugger;
	var form;
	if(document.forms)
	    form = document.forms[0];
	else
	    form = document.Form1;
	var elArr = form.elements; // 将表单中的所有元素放入数组 	
	for(var i = 0; i < elArr.length; i++){
		// 对于表单中的每一个元素... 		
		//检查allownull
		with(elArr[i]){ 
			var v = elArr[i].getAttribute("allownull"); // 获取其validator属性 
			if(v == "False"){
				//去除空格
				if(Trim(value) == ""){				
					var desc = elArr[i].getAttribute("description");
					if (desc){					
						alert(desc + "不能为空"); 
					}
					else{
						alert("不能为空");
					}    
    
					//聚焦 
					//focus(); 
					//选中文本内容 
					if(v.toLowerCase() != "select"){ 
						try{
							select(); 
						}
						catch(e){}
						finally{}
					} 
					return false;
				}
			} 
		}		
		
		//检查RegEx
		with(elArr[i]){ 
			var v = elArr[i].getAttribute("regex"); // 获取其validator属性 
			if(v && value != ""){
				var thePat = PatternsDict[v];
				//alert(value);				
				var gotIt = thePat.test(value); // 用正则表达式验证elArr[i]的值 
				if(!gotIt){ 
					//报错 
					var desc = elArr[i].getAttribute("description")
					if (desc){
						alert(desc + "的格式不正确!"); 
					}
					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; 
}