转载自:http://blog.51yip.com/jsjquery/1484.html

jquery validate 经过这种多年的改良,已经很完善了。它能满足80%的验证需要,如果validate自带的功能,不能满足我们需求,它提供了addMethod来扩展功能。下面就举个小例子来说明一下addMethod的用法。先看一下:demo

简单说一下js代码,详细一点的看上面例子源码:

  1. $(document).ready(function(){
  2. jQuery.validator.addMethod("phonecheck", function(value, element) {   //添加一个phonecheck方法,来自定义check规则
  3. string = value.match(/0(\d{2,2})-(\d{7,7})/ig);
  4. if(string != null){
  5. return true;
  6. }else{
  7. return false;
  8. }
  9. }, "telphone number like 021-1234567");
  10. jQuery.validator.addMethod("phonesame", function(value, element) {    //用jquery ajax的方法验证电话是不是已存在
  11. var flag = 1;
  12. $.ajax({
  13. type:"POST",
  14. url:'tel.php',
  15. async:false,                                             //同步方法,如果用异步的话,flag永远为1
  16. data:{'tel':value},
  17. success: function(msg){
  18. if(msg == 'yes'){
  19. flag = 0;
  20. }
  21. }
  22. });
  23. if(flag == 0){
  24. return false;
  25. }else{
  26. return true;
  27. }
  28. }, "sorry number have been exist");
  29. $("#myform").validate({
  30. errorPlacement: function(error, element) {
  31. error.insertAfter(element);
  32. },
  33. rules:{
  34. username:{
  35. required:true,
  36. remote:{                         //自带远程验证存在的方法
  37. url:"tel.php",
  38. type:"post",
  39. dataType:"html",
  40. data:{
  41. username:function(){return $("#username").val();}
  42. },
  43. dataFilter: function(data, type) {
  44. if (data == "yes")
  45. return true;
  46. else
  47. return false;
  48. }
  49. }
  50. },
  51. telphone:{
  52. required:true,
  53. rangelength:[11,11],
  54. phonecheck:true,
  55. phonesame:true
  56. }
  57. },
  58. messages:{
  59. telphone:{
  60. required:"Please enter your phone",
  61. rangelength:"phone must be 11 numbers"
  62. },
  63. username:{
  64. required:"Please enter your username",
  65. remote:"the username have been exist"
  66. }
  67. },
  68. debug:true
  69. })
  70. });
  71. </script>

在这里推荐大家使用jquery validate,用熟了,很方便。

转载请注明
作者:海底苍鹰
地址:http://blog.51yip.com/jsjquery/1483.html

jquery validate ajax 验证重复的2种方法的更多相关文章

  1. jQuery Validate Ajax 验证

    jQuery Validate Ajax 验证 <script type="text/javascript"> $(function() { $('#formCityL ...

  2. jquery.validate ajax验证

    $("#form1").validate({ rules: { ctl00$ContentPlaceHolder1$txtShopName: { remote: { type: & ...

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

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

  4. jquery validate remote验证唯一性

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

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

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

  6. 封装jQuery Validate扩展验证方法

    一.封装自定义验证方法-validate-methods.js /***************************************************************** j ...

  7. jquery validate扩展验证方法

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

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

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

  9. jquery.validate.js 验证表单时,在IE当中未验证就直接提交的原因

    jquery.validate.js 验证表单时,在IE当中未验证就直接提交的原因 今天利用了jquery.validate.js来验证表单,发现在火狐.谷歌浏览器当中都可以进行验证,但是在IE系列浏 ...

随机推荐

  1. 《Linux内核分析》学习总结与学习心得

    一.目录列表 第一周:计算机是如何工作的? http://www.cnblogs.com/dvew/p/5224866.html 第二周:操作系统是如何工作的? http://www.cnblogs. ...

  2. 20172321 2018-2019《Java软件结构与数据结构》第三周学习总结

    教材学习内容总结 第五章 5.1概述 队列是一种线性集合,其元素从一端加入,从另一端删除:队列的处理方式是先进先出(First in First out). 与栈的比较(LIFO) 栈是一端操作,先进 ...

  3. 03慕课网《vue.js2.5入门》——Vue-cli的安装,创建webpack模板项目

    安装Vue-cli 第一种 貌似不可以,然后用了第二种,但是重装系统后,第二种不能用了,用了第一种可以 # 全局安装vue -cli命令npm install --global vue-cli # 创 ...

  4. “我爱淘”第二冲刺阶段Scrum站立会议5

    完成任务: 完成了登录界面的实现,可以按照数据库中的用户名密码进行登录,. 计划任务: 在客户端实现分类功能,通过学院的分类查看书籍. 遇到问题: 再登录上了之后,并且保存密码,但是点击退出当前账号这 ...

  5. OOP 1.3 动态内存分配

    1.new运算符用法 分配一个变量:P=new T; T是任意类型名,P是类型为T的指针.动态分配出一片大小为sizeof(T)字节的内存空间,将该空间的起始地址赋值给P(new T的返回值为 T). ...

  6. 软工网络15团队作业4-DAY8

    每日例会 昨天的工作. 张陈东芳:可导入部分类信息,继续尝试将所有信息导入: 吴敏烽:商品类的规范化编写: 周汉麟:界面的排版继续优化: 林振斌:按照浏览历史,次数等,继续优化商品类排序: 李智:研究 ...

  7. CentOS下php安装mcrypt扩展

    CentOS下php安装mcrypt扩展 Posted on 2012-09-12 15:27 C'est la vie 阅读(48294) 评论(3) 编辑 收藏 (以下步骤均为本人实际操作,可能与 ...

  8. Win server 2016 升级 Win server 2019 [测试验证]

    . 给win server 2016 挂在 win server 2019 的安装盘 2. 点击setup 直接进行安装操作  选择不下载更新, 然后到达输入序列号的界面 序列号为: WMDGN-G9 ...

  9. Linux学习笔记3

    touch filename 创建一个不存在的文件,或者修改文件的时间戳. touch log.txt whereis name 定位一个文件. whereis php.ini whereis.loc ...

  10. javascript之彻底理解valueOf, toString

    参与运算的都是简单类型(一般就字符串和数字), 复杂类型是不参与运算的. ***当对象(非简单类型)用作键时,会先调用toString()方法把对象转化成字符串 var a = {},     b = ...