JQuery 表单验证--jquery validation

jquery validation,表单验证控件

官方地址 :http://jqueryvalidation.org/

jquery表单验证 默认值校验规则

jquery表单验证 默认的提示

 

  1 <html>
  2     <head>
  3         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4         <title>jQuery validation plug-in - main demo</title>
  5         <link rel="stylesheet" type="text/css" media="screen" href="css/screen.css" />
  6         <script type="text/javascript" src="js/lib/jquery.js"></script>
  7         <script type="text/javascript" src="js/dist/jquery.validate.js"></script>
  8         
  9         
 10 <script type="text/javascript">
 11     
 12 /*======================================================================*/    
 13 /*
 14      * 自定义验证方法
 15      * $.validator.addMethod(name,method,message);
 16      *         * $.validator.addMethod()是固定写法
 17      *         * name:添加的方法的名字
 18      *         * method:一个函数,function(value,element,param){}
 19      *             * value:对应页面中元素的value属性值
 20      *             * element:对应页面中的元素
 21      *             * param:参数
 22      *         * message:错误提示信息
 23      */
 24     $.validator.addMethod("cartLength",function(value,element,param){
 25         var len = value.length;
 26         
 27         if(len!=15&&len!=18){
 28             return false;
 29         }
 30         
 31         return true;
 32         
 33     });
 34     
 35     $.validator.addMethod("cartCheck",function(value,element,param){
 36         var len = value.length;
 37         
 38         var flag; 
 39         
 40         if(len==15){
 41             var pattern = /^[0-9]{15}$/;
 42             
 43             flag = pattern.test(value);
 44         }
 45         
 46         if(len==18){
 47             var pattern  = /^[0-9]{18}|[0-9]{17}x$/;
 48             
 49             flag = pattern.test(value);
 50         }
 51         
 52         if(!flag){
 53             return false;
 54         }
 55         
 56         return true;
 57         
 58         
 59     });
 60     
 61     
 62 /*********************************************************************************************************/    
 63 
 64 
 65 $().ready(function(){
 66     $("#empForm").validate({
 67     rules:{
 68         realname:"required",
 69         username:{
 70             required:true,
 71             rangelength:[5,8]
 72         },
 73         psw:{
 74             required:true,
 75             rangelength:[6,12]
 76         },
 77         psw2:{
 78             required:true,
 79             rangelength:[6,12],
 80             equalTo:"#psw"
 81         },
 82         gender:"required",//如果在页面中设置其对应的label标签进行提示,在验证规则的信息提示中可以不设置相关内容
 83         age:{
 84             required:true,
 85             range:[26,50]
 86         },
 87         edu:"required",
 88         birthday:{
 89             required:true,
 90             dateISO:"yyyy/MM/dd"
 91         },
 92         checkbox1:"required",
 93         email:{
 94             required:true,
 95             email:true
 96         },
 97         cart:{
 98             required:true,
 99             cartLength:true,
100             cartCheck:true
101         }
102         
103     },
104     messages:{
105         realname:"真是名称不能为空",
106         username:{
107             required:"登录名不能为空",
108             rangelength:"长度必须为5-8位"
109         },
110         psw:{
111             required:"密码不能为空",
112             rangelength:"密码长度必须是6-12位"
113         },
114         psw2:{
115             required:"密码不能为空",
116             rangelength:"密码长度必须是6-12位",
117             equalTo:"两次密码输入不一致"
118         },
119         gender:"必选一个性别",
120         age:{
121             required:"不能为空",
122             range:"年龄必须在26-50岁之间"
123         },
124         edu:"必须选择一个学历",
125         birthday:{
126             required:"出生日期不能为空",
127             dateISO:"日期格式不正确"
128         },
129         checkbox1:"必须选择一个",
130         email:{
131             required:"邮件不能为空",
132             email:"邮件格式不正确"
133         },
134         cart:{
135             required:"身份证号不能为空",
136             cartLength:"身份证号长度不正确",
137             cartCheck:"身份证格式不正确"
138         }
139     }    
140     });    
141 });
142 
143 </script>
144 </head>
145 <body>
146     
147     <!--
148                                           默认错误提示信息,在放置在页面的表单中第一个控件后面
149                 <label  style="display: none" for="gender" class="error">请选择性别</label>
150                     * for:值对应的是页面表单中name属性的值
151                     * class:设置样式,设置"error"样式
152                     * style:"display: none",设置成隐藏
153                 
154                 * 在jquery表单验证框架运行时,原理如下:
155                     * 首先,表单验证框架会在页面中查找对应的label标签
156                         * 在页面中查找对应label标签,错误提示信息就提示页面中label标签内的文本信息
157                         * 在页面中没有找到对应label标签,就通过验证框架底层创建一个label标签进行错误信息的提示
158                 
159                 
160                 errorClass: "error",
161                 validClass: "valid",
162                 errorElement: "label",
163                 
164                 
165                 label = $("<" + this.settings.errorElement + "/>")            //<label></label>
166                     .attr({"for":  this.idOrName(element), generated: true})//<label for="gender"></label>
167                     .addClass(this.settings.errorClass)                        //<label for="gender" class="error"></label>
168                     .html(message || "");                                    //<label for="gender" class="error">错误提示信息</label>
169                                       
170             -->
171     
172     
173     <p>员工信息录入</p>
174 <form name="empForm" id="empForm" method="post" action="test.html">
175         <table border=1>
176             <tr>
177                 <td>真实姓名(不能为空 ,没有其他要求)</td>
178                 <td><input type="text" id="realname" name="realname" />
179                 </td>
180             </tr>
181             <tr>
182                 <td>登录名(登录名不能为空,长度应该在5-8之间,可以包含中文字符(一个汉字算一个字符)):</td>
183                 <td><input type="text" id="username" name="username" /></td>
184             </tr>
185              <tr> 
186               <td>密码(不能为空,长度6-12字符或数字,不能包含中文字符):</td>
187               <td><input type="password" id="psw"  name="psw" style="120px" /></td>
188             </tr>
189             <tr> 
190               <td>重复密码密码(不能为空,长度6-12字符或数字,不能包含中文字符):</td>
191               <td><input type="password" id="psw2" name="psw2" style="120px" /></td>
192             </tr>
193             <!--
194                 
195                                       
196             -->
197             <tr>
198                 <td>性别(必选其一)</td>
199                 <td>
200                     <input  type="radio" id="gender_male" value="m" name="gender"/>201                     <input  type="radio" id="gender_female" value="f" name="gender"/>202                     <label  style="display: none" for="gender" class="error">请选择性别</label>
203                 </td>
204             </tr>
205             <tr>
206                 <td>年龄(必填26-50):</td>
207                 <td><input type="text" id="age" name="age" /></td>
208             </tr>
209             
210             <tr> 
211               <td>你的学历:</td>
212               <td> <select name="edu" id="edu">
213                       <option value="">--请选择你的学历--</option>
214                       <option value="a">专科</option>
215                       <option value="b">本科</option>
216                       <option value="c">研究生</option>
217                       <option value="e">硕士</option>
218                       <option value="d">博士</option>
219                   </select>
220               </td>
221             </tr>
222             
223             <tr> 
224               <td>出生日期(1982/09/21):</td>
225                <td><input type="text" id="birthday"  name="birthday" style="120px" value="" /></td>
226             </tr>
227             
228            <tr> 
229               <td>兴趣爱好:</td>
230               <td colspan="2"> 
231                   <input type="checkbox" name="checkbox1" id="qq1"/>乒乓球 
232                   <input type="checkbox" name="checkbox1" id="qq2" value="1" />羽毛球 
233                   <input type="checkbox" name="checkbox1" id="qq3" value="2" />上网 
234                   <input type="checkbox" name="checkbox1" id="qq4" value="3" />旅游 
235                   <input type="checkbox" name="checkbox1" id="qq5" value="4" />购物 
236                   <label  style="display: none" for="checkbox1" class="error">您的兴趣爱好,至少选择一个</label>
237               </td>
238             </tr>
239              <tr> 
240                   <td align="left">电子邮箱:</td>
241                   <td><input type="text" id="email" style="120px" name="email" /></td>
242               </tr>
243               <tr> 
244                   <td align="left">身份证(15-18):</td>
245                   <td><input type="text" id="cart"  style="200px" name="cart" /></td>
246               </tr>
247             <tr>
248                 <td></td>
249                 <td></td>
250                 <td><input type="submit"  name="firstname"  id="firstname" value="保存"></td>
251             </tr>
252         </table>
253 
254 </form>
255 <script language="JavaScript">
256     
257 </script>
258 
259 </body>
260 </html>
原文地址:https://www.cnblogs.com/liuwt365/p/4199905.html