问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

身份证验证js

发布网友 发布时间:2022-04-13 06:46

我来回答

1个回答

热心网友 时间:2022-04-13 08:15

我给你一个很强大的js校验身份证工具方法,其中身份证号是用jquery从网页中某个标签里去取值的,你可以改造成传参也行。
/*****身份证合法性验证*****/
function checkIdCard(){
var idcard = $("#certiNbr").val();
if (idcard.replace(/\s/g, "") == "") {
$("#theAvailabilitySpan").html("请输入证件号码");
$("#checkButton").attr("disabled", "disabled");
return false;
}
var msg = checkId(idcard);
var code = msg.substring(0,1);

if("0" == code){
msg = msg.substring(1,msg.length);
$("#checkButton").attr("disabled", "disabled");
}
$("#theAvailabilitySpan").html(msg);
}
function checkId(idcard){

var Errors=new Array(
"身份证验证通过!",
"0身份证号码位数不对!",
"0身份证号码出生日期超出范围或含有非法字符!",
"0身份证号码校验错误!",
"0身份证地区非法!"
);
var area={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:"国外"}

var idcard,Y,JYM;
var S,M;
var idcard_array = new Array();
idcard_array = idcard.split("");
//地区检验
if(area[parseInt(idcard.substr(0,2))]==null){

return Errors[4];}
//身份号码位数及格式检验
switch(idcard.length){
case 15:
if ( (parseInt(idcard.substr(6,2))+1900) % 4 == 0 || ((parseInt(idcard.substr(6,2))+1900) % 100 == 0 && (parseInt(idcard.substr(6,2))+1900) % 4 == 0 )){
ereg=/^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}$/;//测试出生日期的合法性
} else {
ereg=/^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$/;//测试出生日期的合法性
}
if(ereg.test(idcard)) return Errors[0];
else return Errors[2];
break;
case 18:
//18位身份号码检测
//出生日期的合法性检查
//闰年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))
//平年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))
if ( parseInt(idcard.substr(6,4)) % 4 == 0 || (parseInt(idcard.substr(6,4)) % 100 == 0 && parseInt(idcard.substr(6,4))%4 == 0 )){
ereg=/^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9Xx]$/;//闰年出生日期的合法性正则表达式
} else {
ereg=/^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9Xx]$/;//平年出生日期的合法性正则表达式
}
if(ereg.test(idcard)){//测试出生日期的合法性
//计算校验位
S = (parseInt(idcard_array[0]) + parseInt(idcard_array[10])) * 7
+ (parseInt(idcard_array[1]) + parseInt(idcard_array[11])) * 9
+ (parseInt(idcard_array[2]) + parseInt(idcard_array[12])) * 10
+ (parseInt(idcard_array[3]) + parseInt(idcard_array[13])) * 5
+ (parseInt(idcard_array[4]) + parseInt(idcard_array[14])) * 8
+ (parseInt(idcard_array[5]) + parseInt(idcard_array[15])) * 4
+ (parseInt(idcard_array[6]) + parseInt(idcard_array[16])) * 2
+ parseInt(idcard_array[7]) * 1
+ parseInt(idcard_array[8]) * 6
+ parseInt(idcard_array[9]) * 3 ;
Y = S % 11;
M = "F";
JYM = "10X98765432";
M = JYM.substr(Y,1);//判断校验位
if(M == idcard_array[17]) return Errors[0]; //检测ID的校验位
else return Errors[3];
}
else return Errors[2];
break;
default:
return Errors[1];
break;
}

}
function check(obj){

alert(checkIdcard(obj.value));

}

/********************客户信息end********************/
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
洛阳火车站到洛阳关林的钢厂怎么坐公车去?钢厂目前是否分为三个小... 李永昌的《桃花运》 歌词 失眠特效药有哪些 失眠有什么快速特效药 长期失眠用什么药最好?失眠治疗特效药有哪些 失眠怎么办办,有没有什么特效药 本人严重失眠,有特效药吗? 长期焦虑失眠怎么办?有没有好的特效药? 离婚了,小孩抚养费对方拖着不给,玩失踪,怎么办? 小孩抚养费前夫每月都拖着不给怎么解决 支付宝来攒钱怎么退保,我不知道我的是哪个保险。这个咋看 四川有谁买过电话车险的理赔怎么样,那家好 四川广安车险保险那个公司最好,最便宜,赔付最快! 四川 财险 车险保费 排名 四川车险公司排名第几 轿车车险买什么公司的好,四川地区的保险公司那个比较好些目前是太平财险的,平安的口碑怎么样? 诗朗诵《我骄傲我是一名教师》1 哪些水果吃了会上火?哪些是去火的水果? 吃了在锅里煮的苹果还可以下火吗 为什么吃苹果可以降火而橘子吃了上火? 请问哪些水果吃了上火,哪些水果吃了下火? 为什么我每次上火吃苹果,很快就下火了。比下火药还灵 请问朋友们,真空包装的香肠腊肉在行李箱里能放多久? 吃水果是上火还是下火?(庸人勿扰) 请问谁知道,抽过真空的 香肠 腊肉能存放多久啊》? 请问:吃苹果是起火还是去火. 企业微信怎样删除并退出群聊 近五年央行一共调高多少次基准利率,为什么最近又降了基准利率呢 苹果是上火的还是下火的 每天15点以后国债逆回购还可以操作交易吗? 什么什么难分成语 难分难舍的成语有哪些 难舍难分是什么意思 难()难分 难舍难分怎么解释 难什么难什么成语 跟"难舍难分"相近的成语有什么? 难什么难什么的词语 成语难分难舍是什么意思 难舍难分粤语歌叫什么? 用难舍难分造句 U盘里面的文件被格式化了怎么办? 用了很久的u盘今天提示格式化,里面的数据很重要应该怎么办 今天手误把U盘格式化了咋办,文件怎么恢复 怎么查看匿名用户回答的问题 最新生育险和医疗合并了吗 如何找到自己匿名回答过的问题? 怎么看自己的匿名提问 医疗保险与生育保险合并的政策分析怎么做 c语言怎么输入若干个正整数,以ctrl+z作为结束符号