jQuery.validator

  1. $(document).ready(function(){
  2. /* 设置默认属性 */
  3. $.validator.setDefaults({
  4. submitHandler: function(form) { form.submit(); }
  5. });
  6. // 中文字两个字节
  7. jQuery.validator.addMethod("byteRangeLength", function(value, element, param) {
  8. var length = value.length;
  9. for(var i = 0; i < value.length; i++){
  10. if(value.charCodeAt(i) > 127){
  11. length++;
  12. }
  13. }
  14. returnthis.optional(element) || ( length >= param[0] && length <= param[1] );
  15. }, "请确保输入的值在3-15个字节之间(一个中文字算2个字节)");
  16. /* 追加自定义验证方法 */
  17. // 身份证号码验证
  18. jQuery.validator.addMethod("isIdCardNo", function(value, element) {
  19. returnthis.optional(element) || isIdCardNo(value);
  20. }, "请正确输入您的身份证号码");
  21. // 字符验证
  22. jQuery.validator.addMethod("userName", function(value, element) {
  23. returnthis.optional(element) || /^[\u0391-\uFFE5\w]+$/.test(value);
  24. }, "用户名只能包括中文字、英文字母、数字和下划线");
  25. // 手机号码验证
  26. jQuery.validator.addMethod("isMobile", function(value, element) {
  27. var length = value.length;
  28. returnthis.optional(element) || (length == 11 && /^(((13[0-9]{1})|(15[0-9]{1}))+\d{8})$/.test(value));
  29. }, "请正确填写您的手机号码");
  30. // 电话号码验证
  31. jQuery.validator.addMethod("isPhone", function(value, element) {
  32. var tel = /^(\d{3,4}-?)?\d{7,9}$/g;
  33. returnthis.optional(element) || (tel.test(value));
  34. }, "请正确填写您的电话号码");
  35. // 邮政编码验证
  36. jQuery.validator.addMethod("isZipCode", function(value, element) {
  37. var tel = /^[0-9]{6}$/;
  38. returnthis.optional(element) || (tel.test(value));
  39. }, "请正确填写您的邮政编码");
  40. $(regFrom).validate({
  41. /* 设置验证规则 */
  42. rules: {
  43. userName: {
  44. required: true,
  45. userName: true,
  46. byteRangeLength: [3,15]
  47. },
  48. password: {
  49. required: true,
  50. minLength: 5
  51. },
  52. repassword: {
  53. required: true,
  54. minLength: 5,
  55. equalTo: "#password"
  56. },
  57. question: {
  58. required: true
  59. },
  60. answer: {
  61. required: true
  62. },
  63. realName: {
  64. required: true
  65. },
  66. cardNumber: {
  67. isIdCardNo: true
  68. },
  69. mobilePhone: {
  70. isMobile: true
  71. },
  72. phone: {
  73. isPhone: true
  74. },
  75. email: {
  76. required: true,
  77. email: true
  78. },
  79. zipCode: {
  80. isZipCode:true
  81. }
  82. },
  83. /* 设置错误信息 */
  84. messages: {
  85. userName: {
  86. required: "请填写用户名",
  87. byteRangeLength: "用户名必须在3-15个字符之间(一个中文字算2个字符)"
  88. },
  89. password: {
  90. required: "请填写密码",
  91. minlength: jQuery.format("输入{0}.")
  92. },
  93. repassword: {
  94. required: "请填写确认密码",
  95. equalTo: "两次密码输入不相同"
  96. },
  97. question: {
  98. required: "请填写您的密码提示问题"
  99. },
  100. answer: {
  101. required: "请填写您的密码提示答案"
  102. },
  103. realName: {
  104. required: "请填写您的真实姓名"
  105. },
  106. email: {
  107. required: "请输入一个Email地址",
  108. email: "请输入一个有效的Email地址"
  109. }
  110. },
  111. /* 错误信息的显示位置 */
  112. errorPlacement: function(error, element) {
  113. error.appendTo( element.parent() );
  114. },
  115. /* 验证通过时的处理 */
  116. success: function(label) {
  117. // set as text for IE
  118. label.html(" ").addClass("checked");
  119. },
  120. /* 获得焦点时不验证 */
  121. focusInvalid: false,
  122. onkeyup: false
  123. });
  124. // 输入框获得焦点时,样式设置
  125. $('input').focus(function(){
  126. if($(this).is(":text") || $(this).is(":password"))
  127. $(this).addClass('focus');
  128. if ($(this).hasClass('have_tooltip')) {
  129. $(this).parent().parent().removeClass('field_normal').addClass('field_focus');
  130. }
  131. });
  132. // 输入框失去焦点时,样式设置
  133. $('input').blur(function() {
  134. $(this).removeClass('focus');
  135. if ($(this).hasClass('have_tooltip')) {
  136. $(this).parent().parent().removeClass('field_focus').addClass('field_normal');
  137. }
  138. });
  139. });

转载于:https://www.cnblogs.com/lfzm/archive/2011/06/09/2076964.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/378371.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

js 第四课

正则表达式&#xff1a;RegExp对象 正则表达式描述一个字符模式的对象&#xff0c;或者说用某种模式去匹配一类字符串的一个公式。 1.创建 可以用RegExp构造函数和直接量两种方式。正则表达式直接量被包含在一对"/"中. 1 var partern1 RegExp(\\d*); 2 …

第二章 列表和元组

第二章 列表和元组 在Python中&#xff0c;最基本的数据结构为序列&#xff08;包括列表、元组、字符串等&#xff09;&#xff08;sequence&#xff09; 列表是可以修改的&#xff0c;而元组不可以 Python支持一种数据结构的基本概念&#xff0c;名为容器&#xff08;contain…

linux下mac风格菜单栏,ubuntu 8.04 安装mac风格菜单

ubuntu 8.04 安装mac风格菜单发布时间:2008-07-13 00:22:22来源:红联作者:bindex这只是一份草案文档&#xff0c;它可能会导致一些计算机故障。引言这份指南假定你没有在电脑上编译过其他程序&#xff0c;并且&#xff0c;假定你使用的是Ubuntu Gusty。1.使用deb包安装 32位系统…

解析法实现一元线性回归、多元线性回归以及数据模型可视化操作

目录【1】解析法实现一元线性回归python列表实现利用Numpy实现利用TensorFlow实现数据和模型可视化【2】解析法实现多元线性回归利用Numpy实现需要用到的NumPy数组运算函数数据和模型可视化绘制空间点集&#xff1a;绘制空间平面图&#xff1a;绘制线框图并且与散点图对比&…

带有示例的Python File readlines()方法

文件readlines()方法 (File readlines() Method) readlines() method is an inbuilt method in Python, it is used to get all lines from the file, the method is called with this object (current file stream/IO object) and returns all available lines in the file, w…

32位系统win2008+mssql2008 6G内存折腾纪实

十年没搞硬件了&#xff0c;现在计算机发展到大硬盘大内存的时代了。一直都少搞服务器配置、运营&#xff0c;以前弄服务器都是普通的PC来当服务器。公司原来的一个业务系统用的是mssql2000好几年了&#xff0c;由于业务数据越积压越多最大的一张表已经有7000多万条记录了&…

case使用 上下篇

上篇 Case具有两种格式。简单Case函数和Case搜索函数。 --简单Case函数 CASE sexWHEN 1 THEN 男WHEN 2 THEN 女 ELSE 其他 END --Case搜索函数 CASE WHEN sex 1 THEN 男WHEN sex 2 THEN 女 ELSE 其他 END这两种方式&#xff0c;可以实现相同的功能。简单Case函数的写法相对比…

第三章 字符串

第三章 字符串% 字符串是不可变的&#xff0c;所有的元素赋值和切片赋值都是非法的 Python提供了多种字符串格式设置方法 yanyu "hello, %s I like %s age is %s" beyond ("beyond","band",23) yanyu % beyond#结果为&#xff1a;hello, bey…

【视觉项目】【day5】8.25号实验记录(修完BUG,28张测试图,13个样本,四张测试图误判,这比之前效果好很多了)

目录修改完BUG后的程序以及效果优化思路&#xff0c;增强正确识别率&#xff08;待验证&#xff09;修改完BUG后的程序以及效果 修改代码后的测试结果&#xff1a;(利用连通域面积将明显比本张测试图的瓶子要小的模板提前去除&#xff0c;减少误判) 这样下来&#xff0c;28张测…

linux kernel and user space通信机制,Linux内核空间与用户空间通信机制地研究.doc

实用文案标准文档Linux内核空间与用户空间通信机制的研究Linux kernel space and user space communication mechanism摘 要Linux 是一个源码开放的操作系统&#xff0c;无论是普通用户还是企业用户都可以编写自己的内核代码&#xff0c;再加上对标准内核的裁剪从而制作出适合自…

前台用js、jquery出现错误很多是由于IE缓存

例如&#xff1a;当你用jquery进行异步请求数据时&#xff0c;如果浏览器发现请求的地址不变&#xff0c;或者参数也不改变的情况下 IE默认是取原来的缓存中的数据&#xff0c;而不进行重新请求数 解决的方法是是在地址栏的后面加上一个随机参数值&#xff0c;IE发现地址改变&a…

python 示例_带有示例的Python date timetuple()方法

python 示例Python date.timetuple()方法 (Python date.timetuple() Method) date.timetuple() method is used to manipulate objects of date class of module datetime. date.timetuple()方法用于操作模块datetime的日期类的对象。 It is an instance method which means …

WebC.BBS 项目参与新人必读

开发环境: 采用Visual Studio 2010&#xff0c;MVC版本采用Asp.Net MVC3&#xff0c;数据库采用Sql2005 2008,扩展技术包括jQuery。 SVN的相关信息&#xff1a; SVN-Url&#xff1a;svn://svn.cyqdata.com/project_bbs 账户申请&#xff1a;请将自己的密码发给组长&#xff0c;…

第四章 字典

第四章 字典{键:值,名字:电话号码} 映射&#xff1a;通过名称来访问其各个值的数据结构 列表&#xff1a;将一系列值组合成数据结构并通过编号来访问各个值 字典是Python中唯一的内置映射类型&#xff0c;其中的值不按顺序排列&#xff0c;而是存储在键下 键可能是数、字符串…

利用梯度下降法求解一元线性回归和多元线性回归

文章目录原理以及公式【1】一元线性回归问题【2】多元线性回归问题【3】学习率【4】流程分析&#xff08;一元线性回归&#xff09;【5】流程分析&#xff08;多元线性回归&#xff09;归一化原理以及每种归一化适用的场合一元线性回归代码以及可视化结果多元线性回归代码以及可…

linux x64 asm 参数传递,NASM汇编学习系列(1)——系统调用和参数传递

0. 说明本学习系列代码几乎完全摘自&#xff1a;asmtutor.com&#xff0c;如果英文可以的(也可以用谷歌浏览器翻译看)&#xff0c;可以直接看asmtutor.com上的教程系统环境搭建&#xff1a;(我用的是ubuntu18.04.4 server&#xff0c;安装gcc、g)sudo apt install nasmsudo apt…

Javascript之创建对象(原型模式)

我们创建的每个函数都有一个prototype(原型)属性&#xff0c;这个属性是一个指针&#xff0c;指向一个对象&#xff0c;它的用途是包含可以有特定类型的所有实例共享的属性和方法。 prototype就是通过构造函数而创建的那个对象的原型对象。使用原型的好处就是可以让所有对象实例…

treeset java_Java TreeSet pollLast()方法与示例

treeset javaTreeSet类pollLast()方法 (TreeSet Class pollLast() method) pollLast() method is available in java.util package. pollLast()方法在java.util包中可用。 pollLast() method is used to return the last highest element and then remove the element from thi…

第五章 条件、循环及其他语句

第五章 条件、循环及其他语句 再谈print和import print现在实际上是一个函数 1&#xff0c;打印多个参数 用逗号分隔&#xff0c;打印多个表达式 sep自定义分隔符&#xff0c;默认空格 end自定义结束字符串&#xff0c;默认换行 print("beyond",yanyu,23)#结果为…

两种方法将Android NDK samples中hello-neon改成C++

一、第一种方法&#xff1a;1.修改helloneon.c 中代码 a.将 char* str; 改为 char str[512] {0}; b.将 asprintf(&str, "FIR Filter benchmark:\nC version : %g ms\n", time_c); 改为 sprintf(str, "FIR Filter benchmark:\nC ve…