`

JQuery验证 外一篇

    博客分类:
  • JS
阅读更多
当需要验证的表单元素在页面加载完成后并没有确定时,jquery的验证框架就无能为力了。
于是模仿着自己做了个,备忘下。
$(document).ready(function(){
		var form = $("#form");
		form.find("input[type='text'],textarea").each(function(){
			$(this).bind("keyup",validate);
		});
	});
  
  	var errorContainer = "#messageBox";//储存失败信息的容器
	var WRAP_ERROR = "li";//错误信息的包装元素
	var ERROR_REQ = "required";//必填项验证失败的错误信息
	var ERROR_INT = "must positive";//必须为正数
	
	/*
		初始化
	*/
	function init(){
		initContainer();
		
		//初始化参数
		if(WRAP_ERROR=='')
			WRAP_ERROR = "li";
		//other args
	}

	/*
		初始化消息容器
	*/
	function initContainer(){
		$(errorContainer).html('');
	}
	
	/*
		验证主方法
		元素的validate属性的取值有:
		required:必填
		int:正数
		math[a-b]:数值在a-b的区间里,形如math[b]则a=0
		len[a-b]:长度在a-b的区间里,形如len[b]则a=0
	*/
	function validate(){
		init();
		
		//验证所有的含有validate属性的元素
		var f =	"";
		var form = $("#form");
		form.find("input[type='text'],textarea").each(function(){
			var _this = $(this);
			var v = _this.attr("validate");
			var val = _this.val();
			//var name = _this.attr("name");

			if("required"==v){
				f+=vRequired(val);
			}else if("int"==v){
				f+=vInt(val);
			}else if(startWith(v,"math")){
				var a = 0;
				var b = 0;
				if(v.indexOf("-")!=-1){
					a = parseInt(v.substring(v.indexOf("[")+1,v.indexOf("-")));
					b = parseInt(v.substring(v.indexOf("-")+1,v.indexOf("]")));
				}else{
					b = parseInt(v.substring(v.indexOf("[")+1,v.indexOf("]")));
				}
				f+=vMath(val,a,b);
			}else if(startWith(v,"len")){
				var a = 0;
				var b = 0;
				if(v.indexOf("-")!=-1){
					a = parseInt(v.substring(v.indexOf("[")+1,v.indexOf("-")));
					b = parseInt(v.substring(v.indexOf("-")+1,v.indexOf("]")));
				}else{
					b = parseInt(v.substring(v.indexOf("[")+1,v.indexOf("]")));
				}
				f+=vLen(val,a,b);
			}
		});
		
		if(f.length>0){
			failHandler(f);	
		}else{
			succHandler(f,form);
		}
	}
		
	/*
		验证成功
		@args f:验证失败消息
		@args form:验证的表单
	*/
	function succHandler(f,form){
		//默认提交
		//form.submit();
	}

	/*
		验证失败
	*/
	function failHandler(f){
		$("#messageBox").html(""+f);
	}
			
		
	/*
		验证必填项
	*/
	function vRequired(v){
		if($.trim(v).length<1){
			return "<"+WRAP_ERROR+">"+ERROR_REQ+"</"+WRAP_ERROR+">";
		}else{
			return ""
		}
	}

	/*
		验证是否正数
	*/
	function vInt(v){
		var r = vRequired(v);
		if(r.length>0){
			return r;
		}
		v = $.trim(v);
		if(!/^[0-9]*[1-9][0-9]*$/.test(v)){
			return "<"+WRAP_ERROR+">"+ERROR_INT+"</"+WRAP_ERROR+">";
		}
	}
	/*
		验证数值区间
	*/
	function vMath(v,min,max){
		var r = vRequired(v);
		if(r.length>0){
			return r;
		}else if(!isDigital(v)){
			return "<"+WRAP_ERROR+">"+"must be digtal"+"</"+WRAP_ERROR+">";
		}
		v = parseInt($.trim(v));
		if(v<min || v>max){
			return "<"+WRAP_ERROR+">"+"value must be between"+min+" and "+max+"."+"</"+WRAP_ERROR+">";
		}else{
			return '';
		}
	}
	/*
		验证长度区间
	*/
	function vLen(v,min,max){
		var r = vRequired(v);
		if(r.length>0){
			return r;
		}
		var len = v.length;
		if(len<min || len>max){
			return "<"+WRAP_ERROR+">"+"length must be between "+min+" and "+max+"."+"</"+WRAP_ERROR+">";
		}else{
			return '';
		}
	}


完整的例子见附件。

还有许多要修改和可以扩展的地方。
1
0
分享到:
评论

相关推荐

    JQuery验证

    本篇文章将深入探讨jQuery验证插件的核心功能、使用方法以及常见的应用场景。 ### 1. jQuery验证插件简介 jQuery Validation Plugin是由Jörn Zaefferer开发的,它是一个轻量级且功能强大的验证库,可以轻松地与...

    JQuery实现表单验证

    本篇将深入探讨如何利用JQuery实现表单验证,特别是在注册验证场景中的应用。 首先,了解JQuery的核心概念是必要的。JQuery是一个轻量级、高性能的JavaScript库,它通过简洁的API简化了DOM操作、事件处理、动画以及...

    jquery验证框架学习教程

    jQuery验证框架学习教程详细介绍了jQuery及其验证插件的使用方法,旨在帮助开发者快速掌握jQuery这一强大的JavaScript库,并学会如何使用其提供的验证功能来增强Web应用的用户交互体验。 首先,jQuery是一个开源的...

    jquery验证框架使用

    本篇文章将深入探讨jQuery验证框架的使用方法、核心功能以及常见应用场景。 ### 一、jQuery验证框架基础 1. **安装与引入**:首先,你需要在项目中引入jQuery库和验证框架的JS文件。通常,这两个文件可以从CDN...

    jquery验证代码

    **jQuery验证代码详解** 在网页开发中,用户输入的数据验证是一项关键任务,它能确保用户提交的信息符合预期的格式和规则。jQuery,一个强大的JavaScript库,提供了简单易用的API来处理这种验证。本篇文章将深入...

    jquery表单验证框架:jquery.validate.zip

    jQuery是一个广泛使用的JavaScript库,而jQuery.validate则是jQuery的一个强大插件,专门用于实现客户端的表单验证。本篇文章将详细介绍jQuery.validate框架及其核心功能。 一、jQuery.validate简介 jQuery....

    JQuery实行数据验证

    本篇文章将深入探讨如何利用jQuery实现数据验证,这对于确保用户输入的数据符合预设规则至关重要,特别是在Web表单应用中。 首先,理解数据验证的基本概念。数据验证是检查用户在网页表单中输入的信息是否有效和...

    jquery密码强度验证

    `jQuery`作为一款广泛使用的JavaScript库,提供了便捷的方式来增强用户体验并实现复杂的前端功能,其中包括密码强度验证。本篇文章将深入探讨如何使用jQuery实现密码强度验证,并针对描述中的6、7、8位密码长度进行...

    jQuery表单验证插件

    本篇文章将深入探讨jQuery表单验证插件的使用、功能以及常见的应用场景。 ### 一、jQuery与表单验证 jQuery的核心优势在于其简洁的语法和强大的功能,这使得使用jQuery进行表单验证变得非常直观。通过选择器选取...

    Jquery表单验证

    本篇文章将深入探讨基于jQuery的表单验证技术。 ### 1. jQuery简介 jQuery是由John Resig于2006年创建的一个轻量级的JavaScript库,它的核心特性是简化DOM操作、事件处理、动画效果和Ajax交互。jQuery的语法简洁,...

    jquery验证

    结合给出的标签"源码"和"工具",我们可以推断这篇博文可能涉及了jQuery验证的源代码分析或者使用某种工具进行验证的实践。可能的内容包括如何阅读和理解验证插件的源码,学习内部的工作机制,或者是介绍了一款与...

    jQuery阿里云登录滑块拖动验证.zip

    本篇文章将深入探讨如何使用jQuery实现阿里云风格的登录滑块拖动验证,帮助开发者构建更安全的登录系统。 一、滑块拖动验证原理 滑块拖动验证的基本原理是通过用户的交互行为(拖动滑块完成拼图)来判断是否为真实...

    Jquery常用正在表达式验证

    一、jQuery验证基础 jQuery提供了多种方法进行表单验证,如`$.validator.addMethod()`,它允许开发者自定义验证规则。例如,我们可以创建一个验证邮箱地址的函数: ```javascript $.validator.addMethod("email", ...

    JQuery表单验证Demo

    本篇将深入探讨如何利用jQuery实现表单验证,并以"JQuery表单验证Demo"为例进行详细讲解。 首先,我们需要理解jQuery的核心概念。jQuery通过简洁的API简化了DOM操作、事件处理、动画效果以及Ajax交互。在表单验证...

    php和jquery简单登录验证

    本篇文章将详细探讨如何利用PHP和jQuery实现一个简单的登录验证系统。 首先,PHP(Hypertext Preprocessor)是一种服务器端脚本语言,用于开发动态网站和应用程序。在登录验证场景中,PHP主要负责处理用户提交的...

    jquery验证相关好例子

    本篇文章将深入探讨jQuery验证相关的知识点,以及如何利用jQuery和JavaScript进行有效的表单验证。 首先,jQuery提供了方便的事件处理机制,如`$(document).ready()`,允许我们在页面加载完成后执行代码,确保元素...

    jquery 验证

    本篇文章将深入探讨“jQuery验证”,包括如何使用jQuery插件进行表单验证,以及如何借助帮助手册和示例来实现这一目标。 首先,让我们理解jQuery验证的基本概念。jQuery的验证插件允许开发者轻松地为HTML表单添加...

    php+ajax+jquery打造登陆验证

    以下是使用jQuery实现Ajax登录验证的一个简要示例: ```html &lt;!DOCTYPE html&gt; 登录验证 &lt;script src="https://code.jquery.com/jquery-3.6.0.min.js"&gt;&lt;/script&gt; $(document).ready(function() { $("#...

    jquery 表单验证集合

    本篇文章将深入探讨jQuery表单验证集合,包括其核心概念、实现方式以及常见的验证类型。 **一、jQuery表单验证基础** 1. **事件监听**:jQuery通过事件监听机制,如`submit`、`focusout`或`change`,可以在用户...

Global site tag (gtag.js) - Google Analytics