上班无事,学习jQuery Validation,于是手写一公共范例,并收藏以便后用

验证操作类formValidatorClass.js

  1/**//**  
  2 * @author ming  
  3 */  
  4$(document).ready(function(){       
  5         
  6/**//* 设置默认属性 */       
  7$.validator.setDefaults({       
  8    submitHandler: function(form) {    
  9        form.submit();    
 10    }       
 11});   
 12  
 13// 字符验证       
 14jQuery.validator.addMethod("stringCheck", function(value, element) {       
 15    return this.optional(element) || /^[\u0391-\uFFE5\w]+$/.test(value);       
 16}, "只能包括中文字、英文字母、数字和下划线");   
 17  
 18// 中文字两个字节       
 19jQuery.validator.addMethod("byteRangeLength", function(value, element, param) {       
 20    var length = value.length;       
 21    for(var i = 0; i < value.length; i++){       
 22        if(value.charCodeAt(i) > 127){       
 23        length++;       
 24        }       
 25    }       
 26    return this.optional(element) || ( length >= param[0] && length <= param[1] );       
 27}, "请确保输入的值在3-15个字节之间(一个中文字算2个字节)");   
 28  
 29// 身份证号码验证       
 30jQuery.validator.addMethod("isIdCardNo", function(value, element) {       
 31    return this.optional(element) || isIdCardNo(value);       
 32}, "请正确输入您的身份证号码");    
 33     
 34// 手机号码验证       
 35jQuery.validator.addMethod("isMobile", function(value, element) {       
 36    var length = value.length;   
 37    var mobile = /^(((13[0-9]{1})|(15[0-9]{1}))+\d{8})$/;   
 38    return this.optional(element) || (length == 11 && mobile.test(value));       
 39}, "请正确填写您的手机号码");       
 40     
 41// 电话号码验证       
 42jQuery.validator.addMethod("isTel", function(value, element) {       
 43    var tel = /^\d{3,4}-?\d{7,9}$/;    //电话号码格式010-12345678   
 44    return this.optional(element) || (tel.test(value));       
 45}, "请正确填写您的电话号码");   
 46  
 47// 联系电话(手机/电话皆可)验证   
 48jQuery.validator.addMethod("isPhone", function(value,element) {   
 49    var length = value.length;   
 50    var mobile = /^(((13[0-9]{1})|(15[0-9]{1}))+\d{8})$/;   
 51    var tel = /^\d{3,4}-?\d{7,9}$/;   
 52    return this.optional(element) || (tel.test(value) || mobile.test(value));   
 53  
 54}, "请正确填写您的联系电话");   
 55     
 56// 邮政编码验证       
 57jQuery.validator.addMethod("isZipCode", function(value, element) {       
 58    var tel = /^[0-9]{6}$/;       
 59    return this.optional(element) || (tel.test(value));       
 60}, "请正确填写您的邮政编码");    
 61  
 62//开始验证   
 63$('#submitForm').validate({   
 64    /**//* 设置验证规则 */  
 65    rules: {   
 66        username: {   
 67            required:true,   
 68            stringCheck:true,   
 69            byteRangeLength:[3,15]   
 70        },   
 71        email:{   
 72            required:true,   
 73            email:true  
 74        },   
 75        phone:{   
 76            required:true,   
 77            isPhone:true  
 78        },   
 79        address:{   
 80            required:true,   
 81            stringCheck:true,   
 82            byteRangeLength:[3,100]   
 83        }   
 84    },   
 85       
 86    /**//* 设置错误信息 */  
 87    messages: {   
 88        username: {       
 89            required: "请填写用户名",   
 90            stringCheck: "用户名只能包括中文字、英文字母、数字和下划线",   
 91            byteRangeLength: "用户名必须在3-15个字符之间(一个中文字算2个字符)"       
 92        },   
 93        email:{   
 94            required: "请输入一个Email地址",   
 95            email: "请输入一个有效的Email地址"  
 96        },   
 97        phone:{   
 98            required: "请输入您的联系电话",   
 99            isPhone: "请输入一个有效的联系电话"  
100        },   
101        address:{   
102            required: "请输入您的联系地址",   
103            stringCheck: "请正确输入您的联系地址",   
104            byteRangeLength: "请详实您的联系地址以便于我们联系您"  
105        }   
106    },   
107       
108    /**//* 设置验证触发事件 */  
109    focusInvalid: false,   
110    onkeyup: false,   
111       
112    /**//* 设置错误信息提示DOM */  
113    errorPlacement: function(error, element) {       
114        error.appendTo( element.parent());       
115    },     
116       
117});   
118  
119});

测试页index.html

 1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"   
 2"http://www.w3.org/TR/html4/loose.dtd">  
 3<html xmlns="http://www.w3.org/1999/xhtml">  
 4    <head>  
 5        <meta http-equiv="Content-Type" content="text/html; charset=gbk" />  
 6        <title>jQuery验证</title>  
 7        <script src="lib/jquery/jquery-1.3.2.min.js" ></script>  
 8        <script type="text/javascript" src="lib/jquery/jquery.validate.js" mce_src="lib/jquery/jquery.validate.js"></script>  
 9        <script type="text/javascript" src="lib/jquery/messages_cn.js"></script>  
10        <script type="text/javascript" src="lib/jquery/formValidatorClass.js"></script>  
11        <style type="text/css">
12
13        * {}{    
14            font-family: Verdana;    
15            font-size: 96%;    
16        }   
17        label {}{    
18            width: 10em;    
19            float: left;    
20        }   
21        label.error {}{    
22            float: none;    
23            color: red;    
24            padding-left: .5em;    
25            vertical-align: top;    
26        }   
27        p {}{    
28            clear: both;    
29        }   
30        .submit {}{    
31            margin-left: 12em;    
32        }   
33        em {}{    
34            font-weight: bold;    
35            padding-right: 1em;    
36            vertical-align: top;    
37        }   
38           
39</style>
40    </head>  
41    <body>  
42        <form class="submitForm" id="submitForm" method="get" action="">  
43         <fieldset>  
44           <legend>表单验证</legend>  
45           <p>  
46             <label for="username">用户名</label>  
47             <em>*</em><input id="userName" name="username" size="25" />  
48           </p>  
49           <p>  
50             <label for="email">E-Mail</label>  
51             <em>*</em><input id="email" name="email" size="25" />  
52           </p>  
53           <p>  
54             <label for="phone">联系电话</label>  
55             <em>*</em><input id="phone" name="phone" size="25" value="" />  
56           </p>  
57           <p>  
58             <label for="address">地址</label>  
59             <em>*</em><input id="address" name="address" size="22">  
60           </p>  
61             <input class="submit" type="submit" value="提交"/>  
62           </p>  
63          </fieldset>  
64         </form>  
65    </body>  
66</html>

[原创]jQuery Validation范例相关推荐

  1. JQuery 表单验证--jquery validation

    jquery validation,表单验证控件 官方地址 :http://jqueryvalidation.org/ jquery表单验证 默认值校验规则 jquery表单验证 默认的提示 1 &l ...

  2. jquery and jquery validation 常见问题解决

    Cannot read property 'settings' of undefined jquery validation 这个问题常常发生在动态添加rule的时候. 解决方法 // 在timeou ...

  3. jQuery 表单验证插件,jQuery Validation Engine用法详解

    jQuery 表单验证插件,jQuery Validation Engine用法详解 功能强大的 jQuery 表单验证插件,适用于日常的 E-mail.电话号码.网址等验证及 Ajax 验证,除自身 ...

  4. 原创jquery插件treeTable(转)

    由于工作需要,要直观的看到某个业务是由那些子业务引起的异常,所以我需要用树表的方式来展现各个层次的数据. 需求: 1.数据层次分明: 2.数据读取慢.需要动态加载孩子节点: 3.支持默认展开多少层. ...

  5. ajax提交前先验证,jQuery验证AJAX之前提交(jQuery validation before AJAX sub

    我有以下的jQuery验证代码的简单注册表格: $(document).ready(function(){ $("#registerForm").validate({ rules: ...

  6. 验证控件jQuery Validation Engine调用外部函数验证

    在使用jQuery Validation Engine的时候,我们除了使用自带的API之外,还可以自己自定义正则验证.自定义正则验证上一篇已经讲过了,如果想使用自定义函数进行验证怎么办?其实这个控件有 ...

  7. jQuery 表单验证插件 jQuery Validation Engine 使用

    jQuery 表单验证插件 jQuery Validation Engine 使用方式如下: 1.引入头文件(注意一定要把jQuery放在前面),指定使用 jQuery Validation Engi ...

  8. 验证错误信息jquery validation

    题记:写这篇博客要主是加深自己对验证错误信息的认识和总结实现算法时的一些验经和训教,如果有错误请指出,万分感谢. 单页面多表单的jquery 验证怎么办?想要添加自定义的验证函数怎么办? 不知道大家有 ...

  9. (转)jQuery Validation Plugin客户端表单证验插件

    jQuery Validation Plugin客户端表单验证插件 官方文档:http://jqueryvalidation.org/documentation/ 官方demo:http://jque ...

最新文章

  1. Django进阶之session
  2. 3g无线图传点到点模式与服务器模式比较,RTK网络模式分类及网络制式的选择
  3. 关系数据库理论:数据库的六大范式知识笔记
  4. nssl1210-质数【素数筛】
  5. vue 实现无限轮播_Vue 实现无缝轮播
  6. 什么是python全栈开发_什么是python全栈
  7. zabbix自定义用户key
  8. linux dhcpv6 客户端,Linux(RedHat6.4)下配置radvd和dhcpv6
  9. 新世界日本语初级上(更新中)
  10. 数据库系统概念笔记——第4章 中级SQL
  11. 我花三个月看了200G×××教程,领悟了你的×××为什么不赚钱!
  12. Echart 画图表
  13. java爬取论坛信息_Java爬取校内论坛新帖
  14. Linux系统MySQL自动备份
  15. 并行与并发的区别,一瞬间就能理解并记住
  16. linux实验实训报告,linux实验实训报告.doc
  17. linq和lambda_最小起订量:应用于模拟对象的Linq,Lambda和谓词
  18. 运筹学基础,这个可以懂(上)
  19. 汇编语言中sbb是什么意思_汇编语言里 sub是 什么功能?
  20. LED灯珠的封装形式

热门文章

  1. eclipse -xmx -xms_JVM 调优之 Eclipse 启动调优实战
  2. php base64图片大小,php 图片 base64编码相互转换
  3. Robust Quasistatic Finite Elements and Flesh Simulation
  4. 高光谱地物识别练习-从ENVI标准波普库中选择端元进行物质识别
  5. java 微信 jssdk 分享朋友圈_微信JS-sdk分享到朋友圈无效
  6. 相对位置的渐变 html,沿HTML5画布路径的连续渐变
  7. python中常见的运行时错误_python--17个新手常见Python运行时错误
  8. Docker组队学习(一)
  9. 中科研研究生:从算法工程师转行产品经理之后
  10. mysql数据库的笔试题_MySQL数据库常见面试题