问鼎社区_成都问鼎科技官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2170|回复: 0

[jquery插件] 表单验证

[复制链接]
发表于 2011-9-23 14:41:14 | 显示全部楼层 |阅读模式
表单验证


query validate.addMethod 正则表达式 (自定义验证方法) 来自:http://topmanopensource.javaeye.com/blog/568593

项目中使用的jQuery添加的校验的方法

$(document).ready(function(){      
      
  /**//* 设置默认属性 */      
  $.validator.setDefaults({      
      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;      
  for(var i = 0; i < value.length; i++){      
      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:{   
required:true,   
    email:true  
     },   
      phone:{   
        required:true,   
   isPhone:true  
    },   
      address:{   
     required:true,   
stringCheck:true,   
     byteRangeLength:[3,100]   
   }   
    },   
  /**//* 设置错误信息 */  
   messages: {   
      username: {      
    required: "请填写用户名",   
      stringCheck: "用户名只能包括中文字、英文字母、数字和下划线",   
     byteRangeLength: "用户名必须在3-15个字符之间(一个中文字算2个字符)"      
    },   
    email:{   
       required: "请输入一个Email地址",   
    email: "请输入一个有效的Email地址"  
    },   
     phone:{   
      required: "请输入您的联系电话",   
     isPhone: "请输入一个有效的联系电话"  
   },   
      address:{   
       required: "请输入您的联系地址",   
     stringCheck: "请正确输入您的联系地址",   
byteRangeLength: "请详实您的联系地址以便于我们联系您"  
     }   
},   

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|问鼎社区  

GMT+8, 2020-4-9 11:43 , Processed in 0.429015 second(s), 23 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表