一、js文件中先写入的文件 $(document).ready(function () { jQuery.validator.addMethod("isIdCardNo", function (value, element) { return this.optional(element) || isIdCardNo(value); }, "请正确输入您的身份证号码"); }); //增加身份证验证 function isIdCardNo(num) { var factorArr = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1); var parityBit = new Array("1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2"); var varArray = new Array(); var intValue; var lngProduct = 0; var intCheckDigit; var intStrLen = num.length; var idNumber = num; // initialize if ((intStrLen != 15) && (intStrLen != 18)) { return false; } // check and set value for (i = 0; i < intStrLen; i++) { varArray[i] = idNumber.charAt(i); if ((varArray[i] < '0' || varArray[i] > '9') && (i != 17)) { return false; } else if (i < 17) { varArray[i] = varArray[i] * factorArr[i]; } } if (intStrLen == 18) { //check date var date8 = idNumber.substring(6, 14); if (isDate8(date8) == false) { return false; } // calculate the sum of the products for (i = 0; i < 17; i++) { lngProduct = lngProduct + varArray[i]; } // calculate the check digit intCheckDigit = parityBit[lngProduct % 11]; // check last digit if (varArray[17] != intCheckDigit) { return false; } } else { //length is 15 //check date var date6 = idNumber.substring(6, 12); if (isDate6(date6) == false) { return false; } } return true; } function isDate6(sDate) { if (!/^[0-9]{6}$/.test(sDate)) { return false; } var year, month, day; year = sDate.substring(0, 4); month = sDate.substring(4, 6); if (year < 1700 || year > 2500) return false if (month < 1 || month > 12) return false return true } function isDate8(sDate) { if (!/^[0-9]{8}$/.test(sDate)) { return false; } var year, month, day; year = sDate.substring(0, 4); month = sDate.substring(4, 6); day = sDate.substring(6, 8); var iaMonthDays = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] if (year < 1700 || year > 2500) return false if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) iaMonthDays[1] = 29; if (month < 1 || month > 12) return false if (day < 1 || day > iaMonthDays[month - 1]) return false return true } 二、调用插件后,js添加的代码。 $(function() { $("#active").validate({ rules: { FMobileNumber: { required: true, number:true, minlength:7 } }, messages: { FMobileNumber: { required: "必须填写", number:'请输入正确的手机号, 必须为数字', minlength: jQuery.format("手机至少包含{0}个字") } }, errorPlacement: function(error, element) { error.appendTo(element.parent().next().next()); } }); });
三、html代码 <div class="form-row"> <span class="label userfloat"><b>*</b>姓 名:</span> <span class="afterfloat"> <input type="text" id="FullName" class="inputarea userCfloat loginInput required" name="FullName" value="<?= set_value('FullName') ?>"/> <span class="userRfloat">请填写您的真实姓名</span> <div class="clear"></div> </span> <div class="clear"></div> <span class="afterw"></span> <div class="clear"></div> </div> <div class="clear"></div> <div class="form-row"> <span class="label userfloat"><b>*</b>身 份 证:</span> <span class="afterfloat"> <input type="text" id="FIdNumber" class="inputarea userCfloat loginInput {required:true,isIdCardNo:true}" name="FIdNumber" value="<?= set_value('FIdNumber'); ?>" /> <span class="userRfloat">请您填写真实证件号</span> <div class="clear"></div> </span> <div class="clear"></div> <span class="afterw"></span> <div class="clear"></div> </div> <div class="clear"></div> <div class="form-row"> <span class="label userfloat"><b>*</b>性 别:</span> <select name="FSex" class="inputarea userCfloat loginInput"> <option value="男"<?php if(set_value('FSex')=='男'){ ?> selected="selected"<?php } ?>>男</option> <option value="女"<?php if(set_value('FSex')=='女'){ ?> selected="selected"<?php } ?>>女</option> </select> </div> <div class="clear"></div> <div class="form-row"> <span class="label userfloat"><b>*</b>出生日期: </span> <span class="afterfloat"> <input type="text" id="FBirthday" onfocus="WdatePicker({maxDate:'2020-10-01', dateFmt:'yyyy-MM-dd'})" class="Wdate inputarea userCfloat loginInput required" name="FBirthday" value="<?= set_value('FBirthday'); ?>" /> <span class="userRfloat" style="color:red">生日格式:如:1970-02-19</span> <div class="clear"></div> </span> <div class="clear"></div> <span class="afterw"></span> <div class="clear"></div> </div> <div class="clear"></div> <div class="form-row"> <span class="label userfloat"><b>*</b>手 机:</span> <span class="afterfloat"> <input type="text" id="FMobileNumber" class="inputarea userCfloat loginInput" name="FMobileNumber" value="<?= set_value('FMobileNumber'); ?>" /> <span class="userRfloat">密码遗忘或被盗时,可通过手机短信取回</span> <div class="clear"></div> </span> <div class="clear"></div> <span class="afterw"></span> <div class="clear"></div> </div> <div class="clear"></div> <div class="form-row"> <span class="label userfloat"><b>*</b>邮 箱:</span> <span class="afterfloat"> <input type="text" id="FEMail" class="inputarea userCfloat loginInput required email" name="FEMail" value="<?= set_value('FEMail'); ?>" /> <span class="userRfloat">密码遗忘或被盗时,可通过邮箱取回</span> <div class="clear"></div> </span> <div class="clear"></div> <span class="afterw"></span> <div class="clear"></div> </div> <div class="clear"></div> <div class="form-row"> <span class="label userfloat">QQ 号 码:</span> <input type="text" id="FQQ" class="inputarea userCfloat loginInput" name="FQQ" value="<?= set_value('FQQ'); ?>" /> <div class="clear"></div> </div>
相关推荐
### jQuery.validate 扩展身份证校验方法 在前端开发中,对用户输入的数据进行校验是非常重要的一步,它能够帮助开发者提高数据的准确性和安全性。本文将详细介绍如何使用`jQuery.validate`插件来扩展身份证号码的...
一个有关身份证号码校验的JS代码,需要jquery支持。
在介绍jQuery校验中国身份证号码的过程中,首先需要了解身份证号码的组成。根据描述,中国第二代身份证号码为18位数字码,由六位地区码、八位生日码、三位顺序码和一位校验码组成。其中地区码为行政区划代码,生日码...
3. **身份证号码验证规则**:中国的身份证号码由18位数字组成,包括地区码、出生日期码、顺序码和校验码。验证时需检查: - 地区码:前6位,代表出生地的行政区域代码。 - 出生日期码:第7位到第14位,表示出生...
根据给定的信息,本文将详细解释如何利用jQuery技术来判断身份证号码的真实性,并解析代码中的关键逻辑与实现原理。 ### 一、引言 在实际应用中,验证用户提供的身份证号码的有效性和真实性非常重要。通过准确地...
身份证号码(ID Card Number)由18位数字组成,分为五个部分:地区码、出生日期码、顺序码、校验码。在 ASP.NET 中实现身份证号码验证,需要对这些组成部分进行逐一检查。首先,验证字符串长度是否为18位,然后检查...
- 第18位是校验码,用于检验身份证号码的正确性。 性别信息不是直接显示在身份证号码中的,但可以通过15位或17位身份证号码的倒数第二位数字来判断: - 奇数表示男性 - 偶数表示女性 ### 提取出生日期和性别 在...
身份证号码在中国通常由18位数字组成,包含地区码、出生日期码、顺序码和校验码;而座机电话号码一般由区号(3或4位数字)和电话号码(7或8位数字)组成,全部为数字。因此,插件需要能够正确验证这些格式。 在...
例如,可能增加了对特殊字段的验证,如身份证号码、邮政编码或者自定义的日期格式。开发者可能通过编写自定义验证方法来实现这些功能,这些方法通常以函数的形式存在,接收用户输入值作为参数,然后返回true或false...
除了校验码,`jQuery-IDCard.js`还能解析身份证号码中的其他信息。例如,从身份证号码中提取出生日期,可以用于自动填充用户的生日信息;根据地区编码,可以获取到用户大致的籍贯信息;性别则可以通过奇偶位判断,...
身份证号码的验证相对复杂,涉及到特定的校验规则。可以编写一个函数,利用正则表达式初步判断格式,然后进行进一步的校验: ```javascript function validateID(id) { var regex = /(^\d{15}$)|(^\d{18}$)|(^\d{...
身份证验证 jquery js validate验证
本文将详细介绍如何使用jQuery结合正则表达式来验证手机号码、身份证号码以及中文名称。 首先,我们需要了解正则表达式的基础知识。正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,每个字母...
### 身份证校验码计算规则 根据中国第二代身份证的标准,校验码的计算方法如下: - 将身份证号码前17位数字分别乘以不同的系数。从第一位到第十七位的系数分别是:7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8,...
自定义校验规则包括身份证号码验证、整数校验和合法数字校验。对于身份证号码校验,利用了自定义函数checkIdCardNo来进行逻辑校验;整数和合法数字的校验则使用了正则表达式来匹配。 7. 使用自定义校验规则:要使用...
在网页开发中,常常需要处理用户的输入,例如手机号码和身份证号码的验证,以确保用户提供的信息是有效且安全的。本篇文章将深入探讨如何使用JavaScript进行手机号码和身份证号码的截取与验证。 手机号码验证: 在...
《身份证校验及提取信息插件IDCardPaser详解》 在信息技术日益发达的今天,身份证信息的验证和提取在很多场景中变得至关重要。IDCardPaser是一款专门针对身份证号码进行校验和信息提取的JavaScript插件,尤其适用于...
// 如果需要更精确的验证,需要引入身份证校验算法 // ... ``` 在实际应用中,你可能需要根据项目需求对这些验证方法进行扩展,例如添加自定义错误消息、提示信息或使用异步请求验证电话号码的可用性。在提供的...
本文介绍了如何利用JQuery结合正则表达式来实现手机号、身份证号码和中文名称的验证。通过具体的应用实例,展示了如何将这些验证规则应用于HTML表单验证的全过程。掌握这些知识点,能够有效地提升前端数据处理的准确...