<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Demo - Validform - 一行代码搞定整站的表单验证! ©瑞金佬的前端路</title> <link rel="stylesheet" href="http://validform.rjboy.cn/wp-content/themes/validform/style.css" type="text/css" media="all" /> <link href="css/demo.css" type="text/css" rel="stylesheet" /> </head> <body> <div> <div> <h1><a href="../">Validform</a></h1> <ul> <li><a href="../">关于Validform</a></li> <li><a href="../demo.html">Demo</a></li> <li><a href="../document.html">文档</a></li> <li><a href="../download.html">下载</a></li> <li><a href="../help.html">帮助</a></li> <li><a href="/?p=1">网友讨论</a></li> </ul> </div> </div> <div> <div> <p><a href="../demo.html" class="blue ml10 fz12">返回示例首页»</a></p> <h2>通过自定义datatype对身份证号码进行严格验证</h2> <form action="ajax_post.php"> <table width="100%" style="table-layout:fixed;"> <tr> <td style="width:10px;">*</td> <td style="width:70px;">身份证:</td> <td style="width:205px;"><input type="text" value="" name="name" datatype="idcard" nullmsg="请填写身份证号码!" errormsg="您填写的身份证号码不对!" /></td> <td><div>这里会对身份证号码严格验证,请输入真实身份证号码</div></td> </tr> <tr> <td></td> <td></td> <td colspan="2" style="padding:10px 0 18px 0;"> <input type="submit" value="提 交" /> <input type="reset" value="重 置" /> </td> </tr> </table> </form> <h2>说明:</h2> <div> <p>该方法由佚名网友提供。</p> </div> </div> </div> <div> <div> <p>Copyright © <a href="http://www.eloocor.com" target="_blank">易罗客</a></p> <p><a href="http://www.rjboy.cn" target="_blank">瑞金佬的前端路</a><b> | </b><a href="http://validform.rjboy.cn">Validform</a><b> | </b><a href="http://www.rjboy.cn/?p=789" target="_blank">hScrollpane</a><b> | </b><a href="http://www.rjboy.cn/?p=708" target="_blank">Xslider</a></p> </div> </div> <script type="text/javascript" src="http://validform.rjboy.cn/wp-content/themes/validform/js/jquery-1.6.2.min.js"></script> <script type="text/javascript" src="http://validform.rjboy.cn/Validform/v5.3.2/Validform_v5.3.2_min.js"></script> <script type="text/javascript"> $(function(){ //$(".registerform").Validform(); //就这一行代码!; /********************** 传入自定义datatype类型【方式一】; $.extend($.Datatype,{ "z2-4" : /^[\u4E00-\u9FA5\uf900-\ufa2d]{2,4}$/ }); **********************/ $(".registerform").Validform({ tiptype:2, datatype:{//传入自定义datatype类型【方式二】; "idcard":function(gets,obj,curform,datatype){ //该方法由佚名网友提供; var Wi = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1 ];// 加权因子; var ValideCode = [ 1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2 ];// 身份证验证位值,10代表X; if (gets.length == 15) { return isValidityBrithBy15IdCard(gets); }else if (gets.length == 18){ var a_idCard = gets.split("");// 得到身份证数组 if (isValidityBrithBy18IdCard(gets)&&isTrueValidateCodeBy18IdCard(a_idCard)) { return true; } return false; } return false; function isTrueValidateCodeBy18IdCard(a_idCard) { var sum = 0; // 声明加权求和变量 if (a_idCard[17].toLowerCase() == 'x') { a_idCard[17] = 10;// 将最后位为x的验证码替换为10方便后续操作 } for ( var i = 0; i < 17; i++) { sum += Wi[i] * a_idCard[i];// 加权求和 } valCodePosition = sum % 11;// 得到验证码所位置 if (a_idCard[17] == ValideCode[valCodePosition]) { return true; } return false; } function isValidityBrithBy18IdCard(idCard18){ var year = idCard18.substring(6,10); var month = idCard18.substring(10,12); var day = idCard18.substring(12,14); var temp_date = new Date(year,parseFloat(month)-1,parseFloat(day)); // 这里用getFullYear()获取年份,避免千年虫问题 if(temp_date.getFullYear()!=parseFloat(year) || temp_date.getMonth()!=parseFloat(month)-1 || temp_date.getDate()!=parseFloat(day)){ return false; } return true; } function isValidityBrithBy15IdCard(idCard15){ var year = idCard15.substring(6,8); var month = idCard15.substring(8,10); var day = idCard15.substring(10,12); var temp_date = new Date(year,parseFloat(month)-1,parseFloat(day)); // 对于老身份证中的你年龄则不需考虑千年虫问题而使用getYear()方法 if(temp_date.getYear()!=parseFloat(year) || temp_date.getMonth()!=parseFloat(month)-1 || temp_date.getDate()!=parseFloat(day)){ return false; } return true; } } } }); }) </script> <script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-81001026-1', 'auto'); ga('send', 'pageview'); </script> </body> </html>
Copyright © 2004-2024 Ynicp.com 版权所有 法律顾问:建纬(昆明)律师事务所 昆明市网翼通科技有限公司 滇ICP备08002592号-4