Jquery插件入门之Validate插件的简单使用

目录

一、jQuery插件

1.jQuery插件概述

2.Validate插件


一、jQuery插件

1.jQuery插件概述

  • jQuery插件机制概述

    • jQuery插件的机制很简单,就是利用jQuery提供的jQuery.fn.extend()和jQuery.extend()方法,扩展jQuery的功能.

  • jQuery插件机制语法

    • jQuery.fn.extend(object) 对jQuery对象进行方法扩展

     jQuery.fn.extend({
       "check":function(){
         return this.each(function (index,ele) {
           ele.checked = true;
         });
       },
       "自定义方法名称":function () {
         // 处理对象的逻辑
         return this.each(function (index,ele) {
           ele.checked = false;
         });
       }
     });
    • jQuery.extend(object) 对jQuery全局进行方法扩展

    jQuery.extend({
      "min":function (i,j) {
        return i>j?j:i;
      },
      "max":function (i,j) {
        return i>j?i:j;
      }
    });

2.Validate插件

  • 作用:对表单进行校验

    扫描二维码关注公众号,回复: 3723087 查看本文章
  • 下载:​ 下载路径:http://jqueryvalidation.org/files/jquery-validation-1.15.0.zip

  • 使用方式:

    • 1.导入jquery.jsvalidate是基于jquery写的,所以要先导入jquery的js文件

    • 2.再导入validate.js想要使用别人的插件就必须的导入人家已经写好的js文件(插件)

    • 3.在页面加载成功后,要确定对页面上的哪个表单进行校验​ $(function(){​ 表单对象.validate();​ });

    • 4.validate使用格式:​ 表单对象.validate({​ rules:{}, //校验规则​ messages:{} //提示信息​ });

    • 5.常见的校验规则

      校验器名称 描述
      required true|false 必须填写
      number true|false 只能输入数字
      min 数字 最小值
      max 数字 最大值
      range [min,max] 取值范围
      minlength 数字 最小长度
      maxlength 数字 最大长度
      rangelength [minlength,maxlength] 长度范围
      equalTo 通过jQuery选择器选中指定元素对象 和谁相等(重复密码)
      email "email" 校验邮箱
      date true 校验日期
      dateISO true 校验日期格式xxxx-xx-xx xxxx/xx/xx
    • 6.rules校验器语法:

      • 方式1:单一校验name属性的值:"校验器"

      • 方式2:多个校验​ name属性的值:{​ 校验器1:值1,​ 校验器2:值2​ }

    • 7.messages自定义提示信息语法:

      • 方式1:name属性的值:"提示信息"

      • 方式2:​ name属性的值:{​ 校验器1:"提示信息1",​ 校验器2:"提示信息2"​ }

  • 自定义校验器

    • 格式:

      • $.validator.addMethod(name,function(value,element,params){},"message");

      • 参数说明:

        • name:校验器的名称,唯一

        • function:校验规则

          • value:用户输入的值

          • element:要校验的dom对象

          • params:校验器的值

        • message:当不满足校验规则时的提示信息

<!DOCTYPE html>
<!--suppress XmlInvalidId -->
<html lang="en">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>我的jquery表单校验页面</title>
        
        <style type="text/css">
            p{text-align: center;font-size:24px;}
            table{margin: 0 auto;border: 0;}
            table tr{height:40px;border:0;}
            table tr td{padding:0 14px;border:1px solid #999}
            .error{color:red}
        </style>
        <script type="text/javascript" src="js/jquery-3.3.1.js"></script>
        <script type="text/javascript" src="js/jquery.validate.min.js"></script>
        <script type="text/javascript">
            //自定义校验器
            //校验器的名称为: cardLength
            //作用: 校验身份证号长度为15位 或 18位
            $.validator.addMethod("cardLength",function (val,ele,params) {
                if(params){
                    if(val.length==15||val.length==18){
                        return true;
                    }
                }
            },"请输入15位或18位的身份证号")
​
​
            $(function(){
                $("#empForm").validate({
                    rules:{
                        realname:"required",
                        username:{
                            required:true,
                            rangelength:[5,8]
                        },
                        psw:{
                            required:true,
                            rangelength:[6,12]
                        },
                        psw2:{
                            equalTo:"#psw"
                        },
                        gender:{
                            required:true
                        },
                        age:{
                            required:true,
                            number:true,
                            range:[26,50]
                        },
                        edu:{
                            required:true
                        },
                        checkbox1:{
                            required:true
                        },
                        email:{
                            email:"email"
                        },
                        card:{
                            cardLength:true
                        }
                    },
                    messages:{
                        realname:"姓名不能为空",
                        username:{
                            required:"登录名不能为空",
                            rangelength:"登陆名长度为${0}-${1}位"
                        },
                        psw:{
                            required:"密码不能为空",
                            rangelength:"密码长度为${0}-${1}位"
                        },
                        psw2:{
                            equalTo:"密码前后不一致"
                        },
                        gender:{
                            required:"必须其一"
                        },
                        age:{
                            required:"年龄不能为空",
                            number:"年龄必须为数字",
                            range:"年龄必须在${0}到${1}之间"
                        },
                        edu:{
                            required:"学历不能为空"
                        },
                        email:{
                            email:"邮箱格式不对"
                        }
                    }
                })
            });
        </script>
​
</head>
<body>
    <p>员工信息录入</p>
    <form name="empForm" id="empForm" method="post" action="test.html">
        <table border=1>
            <tr>
                <td>真实姓名(不能为空 ,没有其他要求)</td>
                <td><input type="text" id="realname" name="realname" />
                </td>
            </tr>
            <tr>
                <td>登录名(登录名不能为空,长度应该在5-8之间,可以包含中文字符(一个汉字算一个字符)):</td>
                <td><input type="text" id="username" name="username" /></td>
            </tr>
             <tr> 
              <td>密码(不能为空,长度6-12字符或数字,不能包含中文字符):</td>
              <td><input type="password" id="psw"  name="psw" /></td>
            </tr>
            <tr> 
              <td>重复密码密码(不能为空,长度6-12字符或数字,不能包含中文字符):</td>
              <td><input type="password" id="psw2" name="psw2" /></td>
            </tr>
            <tr>
                <td>性别(必选其一)</td>
                <td>
                    <input  type="radio" id="gender_male" value="m" name="gender"/>&nbsp;男&nbsp;&nbsp;
                    <input  type="radio" id="gender_female" value="f" name="gender"/>&nbsp;女
                    <label class="error" for="gender" style="display: none;">必须选择一个性别</label>
                </td>
            </tr>
            <tr>
                <td>年龄(必填26-50):</td>
                <td><input type="text" id="age" name="age" /></td>
            </tr>
            
            <tr> 
              <td>你的学历:</td>
              <td> <select name="edu" id="edu">
                      <option value="">-请选择你的学历-</option>
                      <option value="a">专科</option>
                      <option value="b">本科</option>
                      <option value="c">研究生</option>
                      <option value="e">硕士</option>
                      <option value="d">博士</option>
                  </select>
              </td>
            </tr>
            
            <tr> 
              <td>出生日期(1982/09/21):</td>
               <td><input type="date" id="birthday"  name="birthday" value="" /></td>
            </tr>
            
           <tr> 
              <td>兴趣爱好:</td>
              <td colspan="2"> 
                  <input type="checkbox" name="checkbox1" id="qq1"/>&nbsp;乒乓球 &nbsp;
                  <input type="checkbox" name="checkbox1" id="qq2" value="1" />&nbsp;羽毛球 &nbsp;
                  <input type="checkbox" name="checkbox1" id="qq3" value="2" />&nbsp;上网 &nbsp;
                  <input type="checkbox" name="checkbox1" id="qq4" value="3" />&nbsp;旅游 &nbsp;
                  <input type="checkbox" name="checkbox1" id="qq5" value="4" />&nbsp;购物 &nbsp;
                  <label class="error" for="checkbox1" style="display: none;">必须选一个</label>
              </td>
            </tr>
             <tr> 
                  <td align="left">电子邮箱:</td>
                  <td><input type="text" id="email" name="email" /></td>
              </tr>
              <tr> 
                  <td align="left">身份证(15-18):</td>
                  <td><input type="text" id="card" name="card" /></td>
              </tr>
            <tr>
                <td></td>
                <td><input type="submit"  name="firstname"  id="firstname" value="保存"></td>
            </tr>
        </table>
​
</form>
</body>
</html>

猜你喜欢

转载自blog.csdn.net/fy_java1995/article/details/83067546