Jquery自制表单实时验证

关于Jquery表单验证,这里写了一个简单的例子,大致思路分享一下。

首先获得页面的数据,然后去判断页面的元素,如果错误的话,就在DIV下面添加提示。

这里用到了$("input").blur去触发校验,当然如果更规范一点可以使用blur和keyup时间来触发验证规则。

而且这里用到了HTML的自定义标签,使得用户不用去写繁琐的表达式的JS验证,只需要在HTML页面使用自定义标签就可以了。最后在点击提交按钮的时候,我会去判断页面中是否存在提示信息,来控制提交。当然这只是一个很简单的小例子,以后会慢慢优化。

这里先上js代码

$(document).ready(function(){
 		  $("input").focus(function(){

 		  });
 		  $("input").blur(function(){
 			 	var value=this.value; //获得文本框的值
		   		var id=this.id;  //获得文本框的ID
		   		var vname=$("#"+this.id).attr("vname"); //验证标签
		   		var regular=$("#"+this.id).attr("regular"); //自定义验证
		   		var errMsg=$("#"+this.id).attr("errMsg"); //提示信息
		   		var fid="f"+id;
		   		var flag=true;
		   		if(isEmpty(value)){
		   			msg=vname+"不能为空!";
		   		}else {
		   			$("#"+fid).remove();
		   			if(isEmpty(regular)){
		   				return;
		   			}
		   			var re=eval(regular);  //转义成正则表达式
		   			if(re.test(value)){
		   					flag=false;
		   			}else{
		   				msg=errMsg;
		   			}

		   		}
		   		if(flag){
		   			var fidv=$("#"+fid);
		   			if(fidv.length!=1)
		   			$("#"+id).after("<font class=\"style1\" id="+fid+">"+msg+"</font>");
		   			}

 		  });
 		});
function isEmpty(value){
         if(undefined==value||value==""||value==null){
             return true;
         }else{
             return false;
         }
     };

CSS很简单,就是标红了一下

 <style type="text/css">
.style1 {color: #FF0000}
</style>

HTML

<div class="row"  id="registerDiv">
	<div class="col-sm-12 pl0 pr0 whitecolor mt30 pb20 mb30">
		<h5 class="font18 fontbold titlecolor mt30 mb30 border-b pb15 ml30 mr30">开始注册您的企业账户</h5>
		<div class="col-md-8 col-md-offset-2">
			<div class="form-group col-sm-12">
			    <label for="disabledSelect">联系人</label>
			    <div class="col-sm-12 pl0">
				  <div class="col-md-6 pl0"><input class="form-control"  id="linkman" type="text"  regular="/[\u4E00-\u9FA5]{2,7}/g"  vname="联系人"  errMsg="联系人只能输入2-6位的中文"/></div>
				</div>
 			</div>
 			<div class="form-group col-sm-12">
			    <label for="disabledSelect">手机</label>
			    <div class="col-sm-12 pl0">
				  <div class="col-md-6 pl0"><input class="form-control"  name="mobilePhone"  id="mobilePhone"" type="number"   regular="/^1\d{10}$/"  vname="手机号"  errMsg="请输入正确的手机号"/></div>
				  <div class="col-md-6 mt2"> <input type="button" style="height:32px;width:120px;"  value="点击发送验证码" onclick="sendCode(this)"  /></div>
				</div>
 			</div>
 			<div class="form-group col-sm-12">
			    <label for="disabledSelect">手机验证码</label>
			    <div class="col-sm-12 pl0">
				  <div class="col-md-6 pl0"><input class="form-control"  id="mobileCaptcha" name="captcha"  type="text"  vname="手机验证码" /></div>
				<!--   <div class="col-md-6 mt5">提示</div> -->
				</div>
 			</div>
 			<div class="form-group col-sm-12">
			    <label for="disabledSelect">公司全称</label>
			    <div class="col-sm-12 pl0">
				  <div class="col-md-6 pl0"><input class="form-control"  id="entName"  type="text"    vname="公司全称"  errMsg="请输入正确的公司名称"/></div>
				 <!--  <div class="col-md-6 mt5">提示</div> -->
				</div>
 			</div>
 			<div class="form-group col-sm-12">
			    <label for="disabledSelect">验证码</label>
			    <div class="col-sm-12 pl0">
				  <div class="col-md-6 pl0">  <input id="picCaptcha" type="text" class="txt code" placeholder="输入验证码" style="width: 100px;" name="kaptcha"  vname="验证码"  >
				  </div>
				</div>
 			</div>
 			<div class="form-group col-sm-12">
			    <label class="checkbox-inline">
				  <input type="checkbox"  onclick="enable()" id="policy"> 我同意 
				  <a data-toggle="modal" data-target="#policyProvision" href="">政策条款</a> 和 
				  <a data-toggle="modal" data-target="#privacyClause" href="">隐私政策</a>
				</label>
 			</div>
 			<div class="form-group col-sm-12 mb30">
			    <button class="btn btn-sm btn-primary" type="button" onclick="register()" id="register" disabled="true">注册</button>
 			</div>
			</div>
	</div>
</div>

最后在我们点击提交的时候去判断一下提示信息

function register(){
if($("#registerDiv").find("font").length>0){
			alert("验证不通过");
			return false;
		}
}

这样的话会有几个优点:

可以自定义验证规则:可以很方便地自定义验证规则

简单而且强大的验证信息提示:没人了验证信息提示,并提供自定义覆盖默认提示信息功能

实时进行验证的功能.:通过blur来触发验证规则

最后附上几张效果图

时间: 2024-10-23 16:14:54

Jquery自制表单实时验证的相关文章

jquery validate 表单验证插件

对于初学者而言,html表单验证是一项极其琐碎的事情.要做好表单验证,需要准备以下基本要素: 1.html表单结构:包含需要校验的表单元素: 2.js逻辑控制:在需要校验的表单元素上绑定事件,如点击.获取焦点.失去焦点等事件,并设置这些事件对应的执行函数: 3.css样式设置:针对需要校验的表单元素,需要设置默认的初始样式,以及触发元素绑定事件后的变化样式. 这3类基本要素中,html表单结构的创建相对简单.表单验证的重点和难点在于如何利用js及时有效地提醒用户有关表单操作的信息.这里我参考了百

jquery validate表单验证插件-推荐

1 表单验证的准备工作 在开启长篇大论之前,首先将表单验证的效果展示给大家.     1.点击表单项,显示帮助提示 2.鼠标离开表单项时,开始校验元素  3.鼠标离开后的正确.错误提示及鼠标移入时的帮助提醒 对于初学者而言,html表单验证是一项极其琐碎的事情.要做好表单验证,需要准备以下基本要素: 1.html表单结构:包含需要校验的表单元素: 2.js逻辑控制:在需要校验的表单元素上绑定事件,如点击.获取焦点.失去焦点等事件,并设置这些事件对应的执行函数: 3.css样式设置:针对需要校验的

jQuery插件 -- 表单验证插件jquery.validate.js

最常使用JavaScript的场合就是表单的验证,而jQuery作为一个优秀的javascript库,也提供了一个优秀的表单验证插件----Validation.Validation是历史最悠久的jquery插件之一,经过了全球范围内不同项目的验证,并得到了许多Web开发者的好评.作为一个标准的验证方法库,Validation拥有如下特点: 1.内置验证规则: 拥有必填.数字.Email.URL和信用卡号码等19类内置验证规则 2.自定义验证规则: 可以很方便地自定义验证规则 3.简单强大的验证

jquery实现表单验证简单实例演示

/* 描述:基于jquery的表单验证插件. */ (function ($) { $.fn.checkForm = function (options) { var root = this; //将当前应用对象存入root var isok = false; //控制表单提交的开关 var pwd1; //密码存储 var defaults = { //图片路径 img_error: "img/error.gif", img_success: "img/success.gi

validate+jquery+ajax表单验证

①Html form表单内容 <form class="cForm" id="cForm" method="post" action=""> <p> <label for="user">用户名</label> <input id="user" name="user" required minlength="

jquery插件-表单验证插件-提示信息中文化与定制提示信息

接上一篇 2)messages 提示:修改默认的提示信息最简单的方法是引入message_zh.js文件即可! 如果需要在validate()方法内提示则可以使用本选项 类型:Object 说明:自定义的提示信息,key:value形式,key是要验证的元素,valule可以是字符串或者函数 使用:message:{ username:"请输入你的用户名" filed2:{ required:'必须填写这个字段', email:'请添加一个正确的邮箱格式' } } //和上面填写rul

【锋利的jQuery】表单验证插件踩坑

和前几篇博文提到的一样,由于版本原因,[锋利的jQuery]表单验证插件部分又出现照着敲不出效果的情况. 书中的使用方法: 1. 引入jquery源文件, 2. 引入表单验证插件js文件, 3. 在form中class类名中添加"required","email"等去作为验证时读取的参数. 4. 调用代码: $("#commentform").validate(); 很不幸,报错了.前端有个说法是学新不学旧,这里就不去深究原因,直接提供最新的写法

jQuery简单表单验证效果

jQuery简单表单验证效果:只要有表单的地方,基本都会有表单验证,下面就结合实例简单介绍一下最简单的表单验证,如何防止填写的表单内容为空.代码实例如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.51texiao.cn/" /> <tit

jQuery form插件的使用--用 formData 参数校验表单,验证后提交(简单验证).

Form Plugin API 里提供了很多有用的方法可以让你轻松的处理表单里的数据和表单的提交过程. 测试环境:部署到Tomcat中的web项目. 一.引入依赖js <script src="jquery-1.3.1.js" type="text/javascript"></script> <script src="jquery.form.js" type="text/javascript"&g