jQuery.validator.addMethod('idCard2', function (value, element) {
var vcity = {
11: "北京", 12: "天津", 13: "河北", 14: "山西", 15: "内蒙古",
21: "辽宁", 22: "吉林", 23: "黑龙江", 31: "上海", 32: "江苏",
33: "浙江", 34: "安徽", 35: "福建", 36: "江西", 37: "山东", 41: "河南",
42: "湖北", 43: "湖南", 44: "广东", 45: "广西", 46: "海南", 50: "重庆",
51: "四川", 52: "贵州", 53: "云南", 54: "西藏", 61: "陕西", 62: "甘肃",
63: "青海", 64: "宁夏", 65: "新疆", 71: "台湾", 81: "香港", 82: "澳门", 91: "国外"
};
// 判断是否为空
isEmpty = function(card){
if (/^\s*$/.test(card) === true) {
return true;
}
}
//检查号码是否符合规范,包括长度,类型
isCardNo = function (card) {
if( isEmpty(card) ){
return true;
}
//身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X
var reg = /(^\d{15}$)|(^\d{17}(\d|X)$)/;
if (reg.test(card) === false) {
return false;
}
return true;
};
//取身份证前两位,校验省份
checkProvince = function (card) {
if( isEmpty(card) ){
return true;
}
var province = card.substr(0, 2);
if (vcity[province] == undefined) {
return false;
}
return true;
};
//检查生日是否正确
checkBirthday = function (card) {
if( isEmpty(card) ){
return true;
}
var len = card.length;
//身份证15位时,次序为省(3位)市(3位)年(2位)月(2位)日(2位)校验位(3位),皆为数字
if (len == '15') {
var re_fifteen = /^(\d{6})(\d{2})(\d{2})(\d{2})(\d{3})$/;
var arr_data = card.match(re_fifteen);
var year = arr_data[2];
var month = arr_data[3];
var day = arr_data[4];
var birthday = new Date('19' + year + '/' + month + '/' + day);
return verifyBirthday('19' + year, month, day, birthday);
}
//身份证18位时,次序为省(3位)市(3位)年(4位)月(2位)日(2位)校验位(4位),校验位末尾可能为X
if (len == '18') {
var re_eighteen = /^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/;
var arr_data = card.match(re_eighteen);
var year = arr_data[2];
var month = arr_data[3];
var day = arr_data[4];
var birthday = new Date(year + '/' + month + '/' + day);
return verifyBirthday(year, month, day, birthday);
}
return false;
};
//校验日期
verifyBirthday = function (year, month, day, birthday) {
var now = new Date();
var now_year = now.getFullYear();
//年月日是否合理
if (birthday.getFullYear() == year && (birthday.getMonth() + 1) == month && birthday.getDate() == day) {
//判断年份的范围(3岁到100岁之间)
var time = now_year - year;
if (time >= 3 && time <= 100) {
return true;
}
return false;
}
return false;
};
//校验位的检测
checkParity = function (card) {
if( isEmpty(card) ){
return true;
}
//15位转18位
card = changeFivteenToEighteen(card);
var len = card.length;
if (len == '18') {
var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
var cardTemp = 0, i, valnum;
for (i = 0; i < 17; i++) {
cardTemp += card.substr(i, 1) * arrInt[i];
}
valnum = arrCh[cardTemp % 11];
if (valnum == card.substr(17, 1)) {
return true;
}
return false;
}
return false;
};
//15位转18位身份证号
changeFivteenToEighteen = function (card) {
if( isEmpty(card) ){
return true;
}
if (card.length == '15') {
var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
var cardTemp = 0, i;
card = card.substr(0, 6) + '19' + card.substr(6, card.length - 6);
for (i = 0; i < 17; i++) {
cardTemp += card.substr(i, 1) * arrInt[i];
}
card += arrCh[cardTemp % 11];
return card;
}
return card;
};
//checkCard = function () {
var card = value;
//校验长度,类型
if (isCardNo(card) === false) {
//alert('您输入的身份证号码不正确,请重新输入');
//document.getElementById('card_no').focus;
return false;
}
//检查省份
if (checkProvince(card) === false) {
return false;
}
//校验生日
if (checkBirthday(card) === false) {
return false;
}
//检验位的检测
if (checkParity(card) === false) {
return false;
}
return true;
});
相关推荐
如何在软件复位后保留指定RAM区域的数据
本文主要介绍S32K144的RAM retention功能
jQuery 身份证验证
function testId(value) { var vcity = { 11: "北京", 12: "天津", 13: "河北", 14: "山西", 15: "内蒙古", 21: "辽宁", 22: "吉林", 23: "黑龙江", 31: "上海", 32: "江苏",
【gateway nc adapter虚拟网卡 win11 联想】问题的解决
由于需要登录公司内网,于是启用奇安信VPN。但启动后报出网关未连接的问题,于是我检查了我的网络适配器,并尝试解决,以下给出几种我实践过程中的行动,并附带最后成功的解决方法。
jQuery验证身份证有效性
【代码】jQuery验证身份证有效性。
LVDS系列23:Xilinx Ultrascale系ISERDESE3原语(一)
当FIFO_RD_CLK与CLKDIV对齐时,也就是Latency With Late FIFO Empty情况时,延迟比前一种情况长一个FIFO_RD_CLK时钟周期,也就是在FIFO_RD_CLK上升沿后一点,CLKDIV才成功驱动完FIFO_EMPTY的变化,于是读侧要得到FIFO_EMPTY为0的情况则要等到下一个FIFO_RD_CLK的上升沿采集时;IS_CLK_INVERTED、IS_CLK_B_INVERTED设置CLK和CLK_B是否反转,一般情况下设置0;
手把手教你用DCA1000和mmWave Studio 2.0采集AWR1843雷达数据(附驱动安装与常见报错排查)
本文详细介绍了使用DCA1000和mmWave Studio 2.0采集AWR1843毫米波雷达数据的全流程指南,包括硬件连接、驱动安装、软件配置及常见报错排查。通过实战经验分享,帮助开发者快速掌握数据采集技巧,优化雷达参数配置,提升数据质量与采集效率。
jquery验证身份证号码
//个人身份证 function checkEnergyCard(){ var allowancePersonValue=$("#allowancePersonID").val(); //是否为空 if(allowancePersonValue==""){ $("#allowancePersonIDTips").addClass("aTip"); $("#allowanc
别再让步进电机‘发烧’了!用FOC闭环驱动实现精准力矩控制(基于P0斩波恒流版)
本文详细介绍了如何利用FOC闭环驱动技术(基于P0斩波恒流版)解决步进电机过热和力矩控制不精准的问题。通过对比传统开环控制的缺陷,展示了FOC在降低温度、提升精度和能效方面的显著优势,并提供了硬件配置、软件实现及性能优化的完整方案。
jq身份证号验证(详细)
//检查确认身份证是否合法(新)function checkCardNumber(text, callback){ checkAge = true; var number = text; if (number == null || number == "") { return callback("请输入真实有效的身份证号"); // eleCtrlShow($('#realNum'),'.co...
J-LINK下载程序出现No Cortex-M Device found in JTAG chain…问题,最全7种解决方法
J-Link下载程序出现No Corect 等的问题的7种方法 后来编辑JLinkSettings.ini文件,找到"Device"项,将其更改Device="Cortex-M0+"
使用lighttpd和开发板进行交互
本文介绍了如何在嵌入式开发板上使用Lighttpd Web服务器实现硬件交互功能。主要内容包括:Lighttpd通过CGI程序间接控制硬件的基本原理;lighttpd.conf配置文件的详细解析;开发板文件目录结构设计;用C语言编写控制GPIO的CGI程序示例;网页调用CGI实现按钮触发控制的HTML代码;常见问题调试建议。最后通过效果图展示了网页按钮点击后成功控制LED灯的实际效果,验证了Lighttpd+CGI方案在嵌入式设备Web控制中的可行性。
Spring-Validation校验参数
Spring-Validation校验参数 全方面使用参数校验工具 //被注释的元素,值必须是一个字符串,不能为null,且调用trim()后,长度必须大于0 @NotBlank(message="") //被注释的元素,值不能为null,但可以为"空",用于基本数据类型的非空校验上,而且被其标注的字段可以使用@size、@Max、@Min等对字段数值进行大小的控制 @NotNull(message="") //被注释的的元素,值不能为null,且长度必须大于0,一般用在集合类上面 @...
【YOLOv11多模态融合改进】(可见光+红外)涉及像素级融合、特征级融合(中期、中后期、后期)、决策级融合的完整配置步骤以及二次改进方案
在网络输入阶段将多模态数据直接合并,形成统一的特征表示。
jquery validate日期与身份证验证实例
jquery validate日期与身份证验证实例 下面是validate的validate.js jQuery.extend(jQuery.validator.messages, { required: “必填”, remote: “请修正该字段”, email: “请输入正确格式的电子邮件”, url: “请输入合法的网址”, date: “请输入合法的日期”, dat
TMS_WebGMaps_1.9.8.0_Full_Source
TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder
计算机控制技术及应用
《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。
通过jquery-validate校验身份证号有效性
页面载入时,加入拓展 $(function () { jQuery.validator.addMethod("isIdCardNo", function (value, element){ return this.optional(element) || isIdCardNo(value); },"请正确输入您的身份证号码"); }); 方法主体 function...
Probability and Statistics - 4th edition
Probability and Statistics - 4th edition
jquery.validate----身份证号码验证
一、js文件中先写入的文件 $(document).ready(function () { jQuery.validator.addMethod("isIdCardNo", function (value, element){ return this.optional(element) || isIdCardNo(value); },"请正确输入您的身份证号码"
Data-Structures-and-Algorithm-Analysis-in-Java.pdf
作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...
jquery.validate 自定义验证方法
jquery.validate 自定义验证方法 2011-10-28 10:47:49| 分类: JQuery及插件 | 标签:jquery |字号 订阅 Java代码 $(document).ready( function() { /** * 身份证号码验证 * */ function isIdCardNo(num)
jQuery.validate动态显示提示信息+自定义校验验证的触发验证方式修改
最近在公司写jsp页面的时候,填写表单需要验证。并且是有两种情况,先选下拉框,如果选的是身份证号就需要验证表单里的输入的是否是合法的身份证号。如果选的是手机号就需要验证表单里输入的是否是合法的手机号。并且如果不合法还需给出不同的提示。 在网上找到了添加自定义验证方法的函数(jQuery.validator.addMethod),但是提示信息是固定的。不过最好还是找到了一个亲测比较好用的方法。 ...
jQuery Validate 扩展验证方法
/***************************************************************** jQuery Validate扩展验证方法 *****************************************************************/ $(function(){ /*********** 整数 **************/ .
Validate 表单验证用法说明
前言 Validate 是 jQuery 的一个子插件, 该插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足用户的各种验证需求。该插件捆绑了一套有用的验证方法,同时提供了一个用来编写用户自定义方法的 API。默认使用英语作为错误信息,且已翻译成其他 37 种语言,支持中文错误提示。 官网地址:https://jqueryvalidation.org/ 菜鸟教程地址:http://www.360doc.com/content/17/0726/06/2708086
jQuery验证插件 Validate校验及自定义验证规则
1. validate的使用步骤 1.引入jquery.min.js 2.引入 jquery.validate.js 下载地址:https://www.jq22.com/jquery-info122 3.页面加载后对表单进行验证 $("#表单id名").validate({}) 4.在validate中的rules中编写验证规则(格式如下) 字段的name属性:“校验器”(tisps:一个输入框只有一个校验器的时候使用) 字段的name属性:{校验器:值,校验器:值}(tips:输入框需要有多个校验
扩展jquery.validate自定义验证,自定义提示,本地化
Index $(document).ready(function () { $("#myform").validate({ rules: { username: { required: true, minlength: 2 },
jquery-validate验证身份证
$(function() { jQuery.validator.addMethod("isIdCardNo", function (value, element){ return this.optional(element) || isIdCardNo(value); },"请正确输入您的身份证号码"); function isIdCardNo(num) { var fa
[JQuery] - 用validate插件校验表单
一.功能效果 二.部分特殊规则 2.1 错误信息位置更改 在表单某选项中增加代码 <label class="error" for="表单中选项的name"></label> 例如 : 性别必选 <td> <input type="radio" id="male" value="m" name="sex"/>男 <input type=...
jquery-validate自定义表单验证
jquery-validate自定义表单验证 自定义方法中有三个参数: 第一个是规则的名字,类似required规则名字。 第二个是改规则的实现部分,需要验证哪些条件在这里写验证方法,当return返回true时代表验证条件符合不触发。 第三个是提示消息。 其中this.optional(element)表示表单控件的值不为空时才会触发。空字符串也会触发。` 部分自定义验证 //...
validate校验及自定义验证规则
1.默认校验 (1)、required:true 必输字段 (2)、remote:"remote-valid.jsp" 使用ajax方法调用remote-valid.jsp验证输入值 (3)、email:true 必须输入正确格式的电子邮件 (4)、url:true 必须输入正确格式的网址 ...
1万+



被折叠的 条评论
为什么被折叠?



