转载自: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系统LVS搭建笔记

    因为客户是国有企业,且一次性购买了14台服务器(16核),14台中暂且先用8台,其中LVS使用5台,NFS一台主要为了共享WEB系统(多台电脑的1.5T的硬盘容量浪费了).MySQL两台,Memcac ...

  2. action访问servlet的API并且获取到MAP或者httpServlet类型的application,session,request

    public class testAction3 extends ActionSupport { private Map<String,Object> request; private M ...

  3. SGU 181 X-Sequence(一题比较水的求模找规律)

    E - X-Sequence Time Limit:500MS     Memory Limit:4096KB     64bit IO Format:%I64d & %I64u Submit ...

  4. Java 将数字转为16进制,然后转为字符串类型 将空格去掉。终结版

    //十进制转为十六进制 public class ArrayTest7 { public static void main(String[] args){ System.out.println(toH ...

  5. Java多线程中的wait与notify

    一.wait: 1. wait 是 object 类的方法, sleep 是 thread 类的方法. 2. 当前的正在我这个对象访问的线程 wait. 3. 当前的这个线程, 锁定在当前对象的这个线 ...

  6. http://deepdish.io/2015/04/28/creating-lmdb-in-python/

    http://deepdish.io/2015/04/28/creating-lmdb-in-python/

  7. 配置java环境 启动服务

    1:查看当前的Java JDK版本,是否符合要求,下载的为2.4.4版本,因此满足条件 [root@7 ~]# java -version openjdk version "1.8.0_65 ...

  8. CentOS7 修改yum源为阿里云

    1,登陆root帐号 2,cd /etc/yum.repo.d 3,mv CentOS-Base.repo CentOS-Base.repo.bak4,wget http://mirrors.aliy ...

  9. 用iptables做代理

    出于安全考虑,Linux系统默认是禁止数据包转发的.配置Linux系统的ip转发功能,打开系统转发功能:echo "1" > /proc/sys/net/ipv4/ip_fo ...

  10. 【转】MySQL数据类型

    1.整型 MySQL数据类型 含义(有符号) tinyint(m) 1个字节  范围(-128~127) smallint(m) 2个字节  范围(-32768~32767) mediumint(m) ...