`
andongoop
  • 浏览: 62311 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

JS验证类

J# 
阅读更多

刚刚写的一个JS验证类

//验证静态方法
Validate.validate = function(){
	var eleArray = document.getElementsByTagName("*"); 
	var i;
	for (i = 0; i < eleArray.length; i++){
		if (eleArray[i].type == 'text'){
				var v = new Validate();
				if (v.validateTest(eleArray[i]) == false){
					return false;
				}
		}
		if (eleArray[i].type == 'select-one'){
				var v = new Validate();
				if (v.validateSelect(eleArray[i]) == false){
					return false;
				}
		}
		if (eleArray[i].type == 'textarea'){
				var v = new Validate();
				if (v.validateTextarea(eleArray[i]) == false){
					return false;
				}
		}
		if (eleArray[i].type == 'radio'){
			var v = new Validate();
			if (v.validateRadio(eleArray[i]) == false){
				return false;
			}
		}
		if (eleArray[i].type == 'checkbox'){
			var v = new Validate();
			if (v.validateCheck(eleArray[i]) == false){
				return false;
			}
		}
	}
	return true;
}


//验证类
function Validate(){
	this.INTEGER = 'integer';  //整数
	this.FLOAT = 'float';  //小数
	this.EMAIL = 'email';  //email
	this.URL = 'url';  //url
	this.PHONENUM = 'phonenum';  //电话号码座机 0511-4405222 或 010-87888822
	this.POSTAL = 'postal';  //邮编
	this.IDCARD = 'idcard';  //身份证
	this.IP = 'ip';  //IP
	
	//验证text
	this.validateTest = function(obj){
		var vu = new ValidateUtil();
		//验证是否为空
		if (obj.attributes.isNull != null){
			if (obj.attributes.isNull.value == 'false'){
				if (vu.isNull(obj) == false){
					return false;
				}
			}
		}
		//验证数据类型
		if (obj.attributes.dataType != null){、
			//整数
			if (obj.attributes.dataType.value == this.INTEGER){
				 if (vu.isInteger(obj) == false){
					 return false;
				 }
			}
			//小数
			if (obj.attributes.dataType.value == this.FLOAT){
				 if (vu.isFloat(obj) == false){
					 return false;
				 }	 
			}
			//email
			if (obj.attributes.dataType.value == this.EMAIL){
				var strP = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
				if (vu.validateDataType(obj, strP) == false){
			 		return false;
				}
			}
			//url
			if (obj.attributes.dataType.value == this.URL){
				//var strP=/^(http\:\/\/)?([\w.]+)(\/[\w-\.\/\?%&=]*)?$/;
				//if (vu.validateDataType(obj, strP) == false){
				// 		return false;
				//}
			}
			//电话号码座机 0511-4405222 或 010-87888822
			if (obj.attributes.dataType.value == this.PHONENUM){
				var strP = /^\d{3}-\d{8}|\d{4}-\d{7}$/;
				if (vu.validateDataType(obj, strP) == false){
			 		return false;
				}
			}
			//邮编
			if (obj.attributes.dataType.value == this.POSTAL){
				var strP = /^[1-9]\d{5}(?!\d)$/;
				if (vu.validateDataType(obj, strP) == false){
			 		return false;
				}
			}
			//身份证
			if (obj.attributes.dataType.value == this.IDCARD){
				var strP = /^\d{15}|\d{18}$/;
				if (vu.validateDataType(obj, strP) == false){
			 		return false;
				}
			}
			//IP
			if (obj.attributes.dataType.value == this.IP){
				var strP = /^\d+\.\d+\.\d+\.\d+$/;
				if (vu.validateDataType(obj, strP) == false){
			 		return false;
				}
			}
		}
		return true;
	}
	
	//验证textarea
	this.validateTextarea = function(obj){
		var vu = new ValidateUtil();
		if (obj.attributes.isNull != null){
			if (obj.attributes.isNull.value == 'false'){
				return vu.isNull(obj);	
			}
		}
	}
	
	//验证select
	this.validateSelect = function(obj){
		var vu = new ValidateUtil();
		if (obj.attributes.isNull != null){
			if (obj.attributes.isNull.value == 'false'){
				return vu.isNull(obj);	
			}
		}
	}
	
	//验证radio
	this.validateRadio = function(obj){
		var vu = new ValidateUtil();
		if (obj.attributes.isNull != null){
			if (obj.attributes.isNull.value == 'false'){
				var radioObj = document.getElementsByName(obj.attributes.name.value);
				return vu.isNullRadio_CheckBox(radioObj);
			}
		}
	}
	//验证checkbox
	this.validateCheck = function(obj){
		var vu = new ValidateUtil();
		if (obj.attributes.isNull != null){
			if (obj.attributes.isNull.value == 'false'){
				var boxObj = document.getElementsByName(obj.attributes.name.value);
				//alert(vu.isNullRadio_CheckBox(boxObj));
				return vu.isNullRadio_CheckBox(boxObj);
			}
		}
	}
	
}
//验证工具类
function ValidateUtil(){
	//验证整数
	this.isInteger = function(obj){
		if (obj.value == ''){
				return true;
		}
		var strP=/^\d+$/;
		if(!strP.test(obj.value)){
		  	alert((obj.attributes.sname == null ? obj.attributes.name.value : obj.attributes.sname.value) + document.getElementById("is_must_integer").value);
		  	obj.focus();
		  	return false;
		}
	  try{
		  if(parseInt(obj.value)!=obj.value){
		  	alert((obj.attributes.sname == null ? obj.attributes.name.value : obj.attributes.sname.value) + document.getElementById("is_must_integer").value);
		  	obj.focus();
	  		return false;
		  } 
	  }catch(ex){
	   	alert((obj.attributes.sname == null ? obj.attributes.name.value : obj.attributes.sname.value) + document.getElementById("is_must_integer").value);
	   	obj.focus();
	  	return false;
	  } 
		return true;
	}
	//验证浮点数
	this.isFloat = function(obj){
		var strP=/^\d+(\.\d+)?$/;
		if(!strP.test(obj.value)){
	  	alert((obj.attributes.sname == null ? obj.attributes.name.value : obj.attributes.sname.value) + document.getElementById("is_must_float").value);
	  	obj.focus();
	  	return false;
	  }
	  try{
		  if(parseInt(oNum)!=obj.value){
		  	alert((obj.attributes.sname == null ? obj.attributes.name.value : obj.attributes.sname.value) + document.getElementById("is_must_float").value);
		  	obj.focus();
	  		return false;
		  } 
	  }catch(ex){
		alert((obj.attributes.sname == null ? obj.attributes.name.value : obj.attributes.sname.value) + document.getElementById("is_must_float").value);
		obj.focus();
		return false;
	  } 
		return true;
	}
	//验证NULL
	this.isNull = function(obj){
		if (obj.type=='text' || obj.type == 'textarea'){
			if(obj.value==''){
				alert((obj.attributes.sname == null ? obj.attributes.name.value : obj.attributes.sname.value) + document.getElementById("is_not_allow_null").value);
				obj.focus();
				return false;
			}	
		}else if (obj.type == 'select-one'){
			if (obj.options.selectedIndex == 0){
				alert((obj.attributes.sname == null ? obj.attributes.name.value : obj.attributes.sname.value) + document.getElementById("is_not_allow_null").value);
				obj.focus();
				return false;
			}
		}
		return true;
	}
	//单选按钮或复选框 NULL验证
	this.isNullRadio_CheckBox = function(objArray){
		for (j = 0; j < objArray.length; j++){
			if (objArray[j].checked == true){
				return true;
			}
		}
		alert((objArray[0].attributes.sname == null ? objArray[0].attributes.name.value : objArray[0].attributes.sname.value) + document.getElementById("is_not_allow_null").value);
		objArray[0].focus();
		return false;
	}
	//验证数据类型
	this.validateDataType = function(obj, pattern){
		if(!pattern.test(obj.value)){
			alert((obj.attributes.sname == null ? obj.attributes.name.value : obj.attributes.sname.value) + document.getElementById("format_wrong").value);
			obj.focus();
			return false;
		}
		return true;
	}
}
 
分享到:
评论

相关推荐

    FormValid好东西js验证类

    `FormValid`是一个JavaScript验证类,专门用于处理表单验证,使得开发者可以方便地实现自动验证功能。 **1. JavaScript验证基本原理** JavaScript是一种客户端脚本语言,它可以直接在用户的浏览器上运行,无需...

    js表单验证类2015

    js表单验证类,包含非空,数字,邮箱,邮编,电话号码等验证集合

    javascript表单验证类

    基于jquery的form表单验证类,工程项目为.net项目,主要是做了详细的调用例子,如果不使用.net,可以直接formvaildator-1.0.js或formvaildator-1.0.min.js,里面也有详细的调用说明,不过项目说明因为有例子会直观...

    js验证错误信息.rar

    "yanz.js"可能是提供的验证类,它可能包含以下方法: 1. `validateInput()`: 对文本框进行验证,检查是否为空、是否符合特定格式。 2. `validateCheckbox()`: 检查复选框是否满足条件,如至少选一个。 3. `...

    JS验证

    Validator.chm文件是一个Windows帮助文档,可能包含了关于JavaScript验证的详细指南或API参考。通常,CHM文件是由多个HTML页面组成,可以方便地搜索和查看特定主题。这个文件可能涵盖了各种验证方法、函数、类或者...

    js 验证 自定义 类

    总结,这个"js 验证 自定义 类"框架旨在提供一种高效、灵活和可扩展的JavaScript验证解决方案。通过其内置的基本验证功能和自定义规则的能力,开发者可以轻松应对各种数据验证需求,同时保持良好的用户体验。结合...

    js表单验证 表单验证类 整合

    表单的验证一直是网页设计者头痛的问题,表单验证类 Validator就是为解决这个问题而写的,旨在使设计者从纷繁复杂的表单验证中解放出来,把精力集中于网页的设计和功能上的改进上。 Validator是基于JavaScript技术...

    js表单验证、js导出excel、js验证

    JavaScript,简称JS,是网页开发中不可或缺的一部分,主要用于实现客户端的交互逻辑和增强用户体验。本篇文章将深入探讨三个关键知识点:JS表单验证、JS导出Excel以及JS验证。 一、JS表单验证 在Web应用程序中,...

    validator 通用JS表单验证类

    综上所述,`validator`通用JS表单验证类为开发者提供了强大的工具来管理和验证网页表单的用户输入,它的易用性和灵活性使其成为前端开发的有力助手。通过深入理解和熟练运用,开发者可以创建更加健壮和用户体验优秀...

    javascript很好很强大的JS表单验证

    javascript很好很强大的JS表单验证 javascript很好很强大的JS表单验证

    JS表单验证类

    在网页表单中,JS的验证类是必不可少的工具,用于确保用户输入的数据符合预设的规则,提高用户体验并减轻服务器端的压力。 **表单验证的重要性** 表单验证是网站交互中的关键环节,它可以防止无效数据的提交,例如...

    js验证代码大全

    JS验证代码大全是汇集了多种JavaScript验证技术的资源集合,可以帮助开发者在创建网页表单、验证用户输入等方面提供有效的解决方案。 一、表单验证基础 在网页开发中,表单验证是非常重要的一环,它能够确保用户...

    js javaScript 验证校验小工具包

    这个"js javaScript 验证校验小工具包"显然是一个集合了各种JavaScript验证和校验功能的资源库,旨在帮助开发者更方便地处理表单验证、数据格式检查等常见任务。 在前端开发中,验证和校验通常涉及以下几个方面: ...

    js验证大全,非常棒的js验证,含有多种特效,是程序员必备的东东

    "js验证大全"是一个集合了多种JavaScript验证技术和特效的资源包,对于程序员来说,它是一个非常宝贵的参考资料。 首先,我们来看一下这个压缩包中包含的文件: 1. **Default.aspx**:这是一个ASP.NET网页文件,...

    JavaScript验证

    js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js...

    js验证上传图片 大小 格式

    在IT领域,特别是前端开发中,JavaScript(JS)被广泛应用于网页交互与数据验证,其中对上传图片的大小和格式进行验证是常见的需求之一。本文将深入解析如何使用JavaScript进行图片上传前的验证,包括检查图片格式、...

    js验证,js,java

    js验证 js验证 js验证 js验证js验证js验证js验证js验证js验证js验证

    js validate 非常强大的js验证框架

    JavaScript(简称JS)是一种广泛用于Web开发的轻量级编程语言,它在前端领域中扮演着重要的角色,尤其是在用户输入验证方面。`js validate`框架就是这样的一个工具,旨在简化和增强网页表单数据的验证过程。这个强大...

Global site tag (gtag.js) - Google Analytics