一、封装自定义验证方法-validate-methods.js

/*****************************************************************
jQuery Validate扩展验证方法 (linjq)
*****************************************************************/
$(function(){
// 判断整数value是否等于0
jQuery.validator.addMethod("isIntEqZero", function(value, element) {
value=parseInt(value);
return this.optional(element) || value==;
}, "整数必须为0"); // 判断整数value是否大于0
jQuery.validator.addMethod("isIntGtZero", function(value, element) {
value=parseInt(value);
return this.optional(element) || value>;
}, "整数必须大于0"); // 判断整数value是否大于或等于0
jQuery.validator.addMethod("isIntGteZero", function(value, element) {
value=parseInt(value);
return this.optional(element) || value>=;
}, "整数必须大于或等于0"); // 判断整数value是否不等于0
jQuery.validator.addMethod("isIntNEqZero", function(value, element) {
value=parseInt(value);
return this.optional(element) || value!=;
}, "整数必须不等于0"); // 判断整数value是否小于0
jQuery.validator.addMethod("isIntLtZero", function(value, element) {
value=parseInt(value);
return this.optional(element) || value<;
}, "整数必须小于0"); // 判断整数value是否小于或等于0
jQuery.validator.addMethod("isIntLteZero", function(value, element) {
value=parseInt(value);
return this.optional(element) || value<=;
}, "整数必须小于或等于0"); // 判断浮点数value是否等于0
jQuery.validator.addMethod("isFloatEqZero", function(value, element) {
value=parseFloat(value);
return this.optional(element) || value==;
}, "浮点数必须为0"); // 判断浮点数value是否大于0
jQuery.validator.addMethod("isFloatGtZero", function(value, element) {
value=parseFloat(value);
return this.optional(element) || value>;
}, "浮点数必须大于0"); // 判断浮点数value是否大于或等于0
jQuery.validator.addMethod("isFloatGteZero", function(value, element) {
value=parseFloat(value);
return this.optional(element) || value>=;
}, "浮点数必须大于或等于0"); // 判断浮点数value是否不等于0
jQuery.validator.addMethod("isFloatNEqZero", function(value, element) {
value=parseFloat(value);
return this.optional(element) || value!=;
}, "浮点数必须不等于0"); // 判断浮点数value是否小于0
jQuery.validator.addMethod("isFloatLtZero", function(value, element) {
value=parseFloat(value);
return this.optional(element) || value<;
}, "浮点数必须小于0"); // 判断浮点数value是否小于或等于0
jQuery.validator.addMethod("isFloatLteZero", function(value, element) {
value=parseFloat(value);
return this.optional(element) || value<=;
}, "浮点数必须小于或等于0"); // 判断浮点型
jQuery.validator.addMethod("isFloat", function(value, element) {
return this.optional(element) || /^[-\+]?\d+(\.\d+)?$/.test(value);
}, "只能包含数字、小数点等字符"); // 匹配integer
jQuery.validator.addMethod("isInteger", function(value, element) {
return this.optional(element) || (/^[-\+]?\d+$/.test(value) && parseInt(value)>=);
}, "匹配integer"); // 判断数值类型,包括整数和浮点数
jQuery.validator.addMethod("isNumber", function(value, element) {
return this.optional(element) || /^[-\+]?\d+$/.test(value) || /^[-\+]?\d+(\.\d+)?$/.test(value);
}, "匹配数值类型,包括整数和浮点数"); // 只能输入[0-9]数字
jQuery.validator.addMethod("isDigits", function(value, element) {
return this.optional(element) || /^\d+$/.test(value);
}, "只能输入0-9数字"); // 判断中文字符
jQuery.validator.addMethod("isChinese", function(value, element) {
return this.optional(element) || /^[\u0391-\uFFE5]+$/.test(value);
}, "只能包含中文字符。"); // 判断英文字符
jQuery.validator.addMethod("isEnglish", function(value, element) {
return this.optional(element) || /^[A-Za-z]+$/.test(value);
}, "只能包含英文字符。"); // 手机号码验证
jQuery.validator.addMethod("isMobile", function(value, element) {
var length = value.length;
return this.optional(element) || (length == && /^((([-]{})|([-]{})|([-]{}))+\d{})$/.test(value));
}, "请正确填写您的手机号码。"); // 电话号码验证
jQuery.validator.addMethod("isPhone", function(value, element) {
var tel = /^(\d{,}-?)?\d{,}$/g;
return this.optional(element) || (tel.test(value));
}, "请正确填写您的电话号码。"); // 联系电话(手机/电话皆可)验证
jQuery.validator.addMethod("isTel", function(value,element) {
var length = value.length;
var mobile = /^((([-]{})|([-]{})|([-]{}))+\d{})$/;
var tel = /^(\d{,}-?)?\d{,}$/g;
return this.optional(element) || tel.test(value) || (length== && mobile.test(value));
}, "请正确填写您的联系方式"); // 匹配qq
jQuery.validator.addMethod("isQq", function(value, element) {
return this.optional(element) || /^[-]\d{,}$/;
}, "匹配QQ"); // 邮政编码验证
jQuery.validator.addMethod("isZipCode", function(value, element) {
var zip = /^[-]{}$/;
return this.optional(element) || (zip.test(value));
}, "请正确填写您的邮政编码。"); // 匹配密码,以字母开头,长度在6-12之间,只能包含字符、数字和下划线。
jQuery.validator.addMethod("isPwd", function(value, element) {
return this.optional(element) || /^[a-zA-Z]\\w{,}$/.test(value);
}, "以字母开头,长度在6-12之间,只能包含字符、数字和下划线。"); // 身份证号码验证
jQuery.validator.addMethod("isIdCardNo", function(value, element) {
//var idCard = /^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\w)$/;
return this.optional(element) || isIdCardNo(value);
}, "请输入正确的身份证号码。"); // IP地址验证
jQuery.validator.addMethod("ip", function(value, element) {
return this.optional(element) || /^(([-]|([-]\d)|(\d\d)|(([-]\d|[-])))\.)(([-]|([-]\d)|(\d\d)|(([-]\d|[-])))\.){}([-]|([-]\d)|(\d\d)|(([-]\d|[-])))$/.test(value);
}, "请填写正确的IP地址。"); // 字符验证,只能包含中文、英文、数字、下划线等字符。
jQuery.validator.addMethod("stringCheck", function(value, element) {
return this.optional(element) || /^[a-zA-Z0-\u4e00-\u9fa5-_]+$/.test(value);
}, "只能包含中文、英文、数字、下划线等字符"); // 匹配english
jQuery.validator.addMethod("isEnglish", function(value, element) {
return this.optional(element) || /^[A-Za-z]+$/.test(value);
}, "匹配english"); // 匹配汉字
jQuery.validator.addMethod("isChinese", function(value, element) {
return this.optional(element) || /^[\u4e00-\u9fa5]+$/.test(value);
}, "匹配汉字"); // 匹配中文(包括汉字和字符)
jQuery.validator.addMethod("isChineseChar", function(value, element) {
return this.optional(element) || /^[\u0391-\uFFE5]+$/.test(value);
}, "匹配中文(包括汉字和字符) "); // 判断是否为合法字符(a-zA-Z0-9-_)
jQuery.validator.addMethod("isRightfulString", function(value, element) {
return this.optional(element) || /^[A-Za-z0-9_-]+$/.test(value);
}, "判断是否为合法字符(a-zA-Z0-9-_)"); // 判断是否包含中英文特殊字符,除英文"-_"字符外
jQuery.validator.addMethod("isContainsSpecialChar", function(value, element) {
var reg = RegExp(/[(\ )(\`)(\~)(\!)(\@)(\#)(\$)(\%)(\^)(\&)(\*)(\()(\))(\+)(\=)(\|)(\{)(\})(\')(\:)(\;)(\')(',)(\[)(\])(\.)(\<)(\>)(\/)(\?)(\~)(\!)(\@)(\#)(\¥)(\%)(\…)(\&)(\*)(\()(\))(\—)(\+)(\|)(\{)(\})(\【)(\】)(\‘)(\;)(\:)(\”)(\“)(\’)(\。)(\,)(\、)(\?)]+/);
return this.optional(element) || !reg.test(value);
}, "含有中英文特殊字符"); //身份证号码的验证规则
function isIdCardNo(num){
  //if (isNaN(num)) {alert("输入的不是数字!"); return false;}
   var len = num.length, re;
   if (len == )
   re = new RegExp(/^(\d{})()?(\d{})(\d{})(\d{})(\d{})(\w)$/);
   else if (len == )
   re = new RegExp(/^(\d{})()?(\d{})(\d{})(\d{})(\d{})(\w)$/);
   else {
//alert("输入的数字位数不对。");
return false;
}
   var a = num.match(re);
   if (a != null)
   {
   if (len==)
   {
   var D = new Date(""+a[]+"/"+a[]+"/"+a[]);
   var B = D.getYear()==a[]&&(D.getMonth()+)==a[]&&D.getDate()==a[];
   }
   else
   {
   var D = new Date(a[]+"/"+a[]+"/"+a[]);
   var B = D.getFullYear()==a[]&&(D.getMonth()+)==a[]&&D.getDate()==a[];
   }
   if (!B) {
//alert("输入的身份证号 "+ a[0] +" 里出生日期不对。");
return false;
}
   }
   if(!re.test(num)){
//alert("身份证最后一位只能是数字和字母。");
return false;
}
   return true;
} }); //车牌号校验
function isPlateNo(plateNo){
var re = /^[\u4e00-\u9fa5]{}[A-Z]{}[A-Z_0-]{}$/;
if(re.test(plateNo)){
return true;
}
return false;
}

二、测试-validate-methods.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://" + request.getServerName() + ":"
+ request.getServerPort() + path + "/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>jQuery Validate扩展验证方法</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<script type="text/javascript" src="<%=request.getContextPath()%>/validate/jquery-1.6.2.min.js"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/validate/jquery.validate.min.js"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/validate/jquery.metadata.min.js"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/validate/validate-methods.js"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/validate/messages_zh.js"></script>
<script type="text/javascript">
$(function(){
var validate = $("#myform").validate({
debug: true, //调试模式取消submit的默认提交功能
submitHandler: function(form){ //表单提交句柄,为一回调函数,带一个参数:form
alert("提交表单");
form.submit(); //提交表单
}, rules:{
zero:{
//isIntEqZero:true
//isFloat:true
//isInteger:true
//isNumber:true
//isMobile:true
//isPhone:true
//isTel:true
//isIdCardNo:true
//isRightfulString:true
isContainsSpecialChar:true
}
},
//如果验证控件没有message,将调用默认的信息
messages:{
zero:{
//isIntEqZero:"请输入0"
//isFloat:"请输入浮点数"
//isInteger:"请输入整数"
} } }); });
</script>
</head> <body>
<form id="myform" method="post" action="">
<p>
<label for="zero">输入框:</label>
<!-- id和name最好同时写上 -->
<input id="zero" name="zero" />
</p> <p>
<input class="submit" type="submit" value="验证" />
</p>
</form>
</body>
</html>

封装jQuery Validate扩展验证方法的更多相关文章

  1. jquery validate扩展验证方法

    /***************************************************************** jQuery Validate扩展验证方法 (linjq) *** ...

  2. jQuery Validate扩展验证方法 (zhangxiaobin)

    /***************************************************************** jQuery Validate扩展验证方法 (zhangxiaob ...

  3. jquery validate 自定义验证方法

    query validate有很多验证规则,但是更多的时候,需要根据特定的情况进行自定义验证规则. 这里就来聊一聊jquery validate的自定义验证. jquery validate有一个方法 ...

  4. jquery validate 自定义验证方法 日期验证

    jquery validate有很多验证规则,但是更多的时候,需要根据特定的情况进行自定义验证规则. 这里就来聊一聊jquery validate的自定义验证. jquery validate有一个方 ...

  5. jQuery Validate自定义验证方法实现方式

    对应调用函数: ( 可以在内部写js/或者外部引入-我是外部引入的文件 )  validate.expand.js // JavaScript Document //检测手机号是否正确 jQuery. ...

  6. 扩展jquery.validate自定义验证,自定义提示,本地化

    <!DOCTYPE html> <html> <head> <meta name="viewport" content="wid ...

  7. 1)jquery validate 远程验证remote,自定义验证 , 手机号验证 2)bootstrap validate 远程remote验证的方法.

    1)jquery  validate 远程验证remote,自定义验证 1-1: js <script src="YYFramework/Public/js/jquery-3.1.1. ...

  8. jquery validate remote验证唯一性

    jquery.validate.js 的 remote 后台验证 之前已经有一篇关于jquery.validate.js验证的文章,还不太理解的可以先看看:jQuery Validate 表单验证(这 ...

  9. jquery.validate提示错误方法

    修改jquery.validate提示错误方法,将错误信息用弹出框提示 <script src="@Url.Content("~/Scripts/jquery.validat ...

随机推荐

  1. 深入.net(文件操作)

    自己进行数据的“持久化操作”: ----- 数据持久化技术:程序还运行过程中,所有的“中间数据”(加工或处理过程中数据)都存放在内存中,但内存的特点是掉电后数据无法保存,所以需要有种技术能够将存放在内 ...

  2. 转:JS获取浏览器高度和宽度

    发现一篇好文章,汇总到自己的网站上. IE中: document.body.clientWidth ==> BODY对象宽度 document.body.clientHeight ==> ...

  3. C#复习④

    C#复习④ 2016年6月16日 12:37 Main Classes and Structs 类和结构体 1.Contents of Classes 字段,常量,方法,构造函数,析构函数: 特性,事 ...

  4. HTML5离线存储原理

    找到一篇介绍离线缓存的,感觉比之前看到的解释的更透彻,新的知识点记录如下: 大家都知道Web App是通过浏览器来访问的,所以离线状态下是无法使用app的.其中web app中的一些资源并不经常改变, ...

  5. python urllib2 发起http请求post

    使用urllib2发起post请求 def GetCsspToken(): data = json.dumps({"userName":"wenbin", &q ...

  6. Spring源码阅读系列总结

    最近一段时间,粗略的查看了一下Spring源码,对Spring的两大核心和Spring的组件有了更深入的了解.同时在学习Spring源码时,得了解一些设计模式,不然阅读源码还是有一定难度的,所以一些重 ...

  7. 【转载】CentOS 6.4下Squid代理服务器的安装与配置

    一.简介 代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息. Squid是一个缓存Internet 数据的软件,其接收用户的下载申请,并自动处理所下载的数据.当一个用 ...

  8. Android搭建junit测环境

    在AndroidManifest.xml文件中增加两个东西,分别是: 1.uses-library ,位于application里面. 2.instrumentation,与application同级 ...

  9. MySQL创建数据库和表的Demo

    Demo: 创建数据库的语法 1.基本语法 create database tour character set gbk; use tour; 无主键自增长的 create table EMB_T_E ...

  10. mysql截取longblob类型字段内一小块数据的方法

    由于longblob类型的字段内容一般都好大,最大限制是4G,所以在数据查询中读取一整块数据的方式是不现实的,这需要要截取的方法来获取需要的数据. 方法如下: hex(substring(A, ind ...