jQuery validate插件实现ajax验证重复的2种方法


Posted in Javascript onJanuary 22, 2016

本文实例讲述了jQuery validate插件实现ajax验证重复的2种方法。分享给大家供大家参考,具体如下:

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

完整demo实例代码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<title>jquery validate ajax check exist</title>
<head>
 <script type="text/javascript" src="jquery.min.js"></script>
 <script type="text/javascript" src="jquery.validate.min.js"></script>
 <script>
 $(document).ready(function(){
  jQuery.validator.addMethod("phonecheck", function(value, element) {
    string = value.match(/0(\d{2,2})-(\d{7,7})/ig);
    if(string != null){
      return true;
    }else{
      return false;
    }
 }, "telphone number like 021-1234567");
  jQuery.validator.addMethod("phonesame", function(value, element) {
    var flag = 1;
    $.ajax({
      type:"POST",
      url:'tel.php',
      async:false,
      data:{'tel':value},
      success: function(msg){
        if(msg == 'yes'){
          flag = 0;
        }
      }
    });
    if(flag == 0){
      return false;
    }else{
      return true;
    }
 }, "sorry number have been exist");
 $("#myform").validate({
   errorPlacement: function(error, element) {
    error.insertAfter(element);
   },
   rules:{
       username:{
         required:true,
         remote:{
        url:"tel.php",
        type:"post",
        dataType:"html",
        data:{
         username:function(){return $("#username").val();}
        },
         dataFilter: function(data, type) {
      if (data == "yes")
       return true;
      else
       return false;
     }
       }
       },
      telphone:{
        required:true,
        rangelength:[11,11],
        phonecheck:true,
        phonesame:true
      }
    },
    messages:{
      telphone:{
        required:"Please enter your phone",
        rangelength:"phone must be 11 numbers"
      },
      username:{
        required:"Please enter your username",
        remote:"the username have been exist"
      }
    },
   debug:true
   })
 });
 </script>
</head>
<body style="margin-left:500px;margin-top:100px;">
<div style="font-size:24px;">021-1234567 or tank exist</div><br>
 <form id="myform" method="post">
 <label>Your telphone</label>
 <input name="telphone" class="required" value="" /><br><br>
 <label>Your username</label>
 <input name="username" id="username" class="required" value="" />
 <br/>
 <input type="submit" value="Submit"/>
</form>
</body>
</html>

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

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
tbody元素支持嵌套的注意方法
Mar 24 Javascript
提取字符串中年月日的函数代码
Nov 05 Javascript
javaScript中push函数用法实例分析
Jun 08 Javascript
原生js图片轮播效果实现代码
Oct 19 Javascript
AngularJS入门教程之过滤器用法示例
Nov 02 Javascript
老生常谈jquery中detach()和remove()的区别
Mar 02 Javascript
JS中利用localStorage防止页面动态添加数据刷新后数据丢失
Mar 10 Javascript
Bootstrap Table 删除和批量删除
Sep 22 Javascript
select标签设置默认选中的选项方法
Mar 02 Javascript
JavaScript实现简单的文本逐字打印效果示例
Apr 12 Javascript
JS实现字符串去重及数组去重的方法示例
Apr 21 Javascript
5分钟学会Vue动画效果(小结)
Jul 21 Javascript
jQuery禁用键盘后退屏蔽F5刷新及禁用右键单击
Jan 22 #Javascript
如何利用JS通过身份证号获取当事人的生日、年龄、性别
Jan 22 #Javascript
jQuery解析json格式数据简单实例
Jan 22 #Javascript
基于javascript实现根据身份证号码识别性别和年龄
Jan 22 #Javascript
基于jQuery仿淘宝产品图片放大镜特效
Oct 19 #Javascript
jQuery图片旋转插件jQueryRotate.js用法实例(附demo下载)
Jan 21 #Javascript
jQuery validate插件submitHandler提交导致死循环解决方法
Jan 21 #Javascript
You might like
php下批量挂马和批量清马代码
2011/02/27 PHP
php木马webshell扫描器代码
2012/01/25 PHP
基于php常用正则表达式的整理汇总
2013/06/08 PHP
解析关于java,php以及html的所有文件编码与乱码的处理方法汇总
2013/06/24 PHP
Javascript typeof 用法
2008/12/28 Javascript
javascript 节点遍历函数
2010/03/28 Javascript
使用jquery.validate自定义方法实现&quot;手机号码或者固话至少填写一个&quot;的逻辑验证
2014/09/01 Javascript
js+jquery实现图片裁剪功能
2015/01/02 Javascript
全面了解JavaScirpt 的垃圾(garbage collection)回收机制
2016/07/11 Javascript
微信小程序 获取微信OpenId详解及实例代码
2016/10/31 Javascript
javascript 删除数组元素和清空数组的简单方法
2017/02/24 Javascript
基于Koa2写个脚手架模拟接口服务的方法
2018/11/27 Javascript
vue中$refs, $emit, $on, $once, $off的使用详解
2019/05/26 Javascript
vue+axios全局添加请求头和参数操作
2020/07/24 Javascript
python2.7删除文件夹和删除文件代码实例
2013/12/18 Python
基于Python代码编辑器的选用(详解)
2017/09/13 Python
Python的SimpleHTTPServer模块用处及使用方法简介
2018/01/22 Python
Python cookbook(数据结构与算法)同时对数据做转换和换算处理操作示例
2018/03/23 Python
Tensorflow 实现修改张量特定元素的值方法
2018/07/30 Python
Python实现定制自动化业务流量报表周报功能【XlsxWriter模块】
2019/03/11 Python
简单了解Django应用app及分布式路由
2019/07/24 Python
Django shell调试models输出的SQL语句方法
2019/08/29 Python
Python使用APScheduler实现定时任务过程解析
2019/09/11 Python
Tensorflow进行多维矩阵的拆分与拼接实例
2020/02/07 Python
Pycharm配置PyQt5环境的教程
2020/04/02 Python
基于matplotlib xticks用法详解
2020/04/16 Python
HTML5页面直接调用百度地图API获取当前位置直接导航目的地的实现代码
2018/03/02 HTML / CSS
SneakerStudio英国:最佳运动鞋商店
2019/05/22 全球购物
小学红领巾广播稿(3篇)
2014/09/13 职场文书
学生上课迟到检讨书
2015/01/01 职场文书
幼儿园辞职书
2015/02/26 职场文书
工程资料员岗位职责
2015/04/13 职场文书
入团介绍人意见范文
2015/06/04 职场文书
运动会报道稿大全
2015/07/23 职场文书
优秀的商业计划书,让融资一步到位
2019/05/07 职场文书
详解MySQL的半同步
2021/04/22 MySQL