手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >从盛大通行证上摘下来的身份证验证js代码
从盛大通行证上摘下来的身份证验证js代码
摘要:复制代码代码如下:functionCheckIdCardField(v_card){varreg=/^d{15}(d{2}[0-9X])?$...

复制代码 代码如下:

<script language="javascript" type="text/javascript">

function CheckIdCardField(v_card) {

var reg = /^d{15}(d{2}[0-9X])?$/i;

if (!reg.test(v_card)) {

return false;

}

if (v_card.length == 15) {

var n = new Date();

var y = n.getFullYear();

if (parseInt("19" + v_card.substr(6, 2)) < 1900 || parseInt("19" + v_card.substr(6, 2)) > y) {

return false;

}

var birth = "19" + v_card.substr(6, 2) + "-" + v_card.substr(8, 2) + "-" + v_card.substr(10, 2);

if (!isDate(birth)) {

return false;

}

}

if (v_card.length == 18) {

var n = new Date();

var y = n.getFullYear();

if (parseInt(v_card.substr(6, 4)) < 1900 || parseInt(v_card.substr(6, 4)) > y) {

return false;

}

var birth = v_card.substr(6, 4) + "-" + v_card.substr(10, 2) + "-" + v_card.substr(12, 2);

if (!isDate(birth)) {

return false;

}

iW = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1);

iSum = 0;

for (i = 0; i < 17; i++) {

iC = v_card.charAt(i);

iVal = parseInt(iC);

iSum += iVal * iW[i];

}

iJYM = iSum % 11;

if (iJYM == 0) sJYM = "1";

else if (iJYM == 1) sJYM = "0";

else if (iJYM == 2) sJYM = "x";

else if (iJYM == 3) sJYM = "9";

else if (iJYM == 4) sJYM = "8";

else if (iJYM == 5) sJYM = "7";

else if (iJYM == 6) sJYM = "6";

else if (iJYM == 7) sJYM = "5";

else if (iJYM == 8) sJYM = "4";

else if (iJYM == 9) sJYM = "3";

else if (iJYM == 10) sJYM = "2";

var cCheck = v_card.charAt(17).toLowerCase();

if (cCheck != sJYM) {

return false;

}

}

return true;

}

</script>

【从盛大通行证上摘下来的身份证验证js代码】相关文章:

你一定会收藏的Nodejs代码片段

给网页加个彩色窗口

获取阴历(农历)和当前日期的js代码

些很实用且必用的小脚本代码

Ctrl + Enter提交前检测的代码

Angular发布1.5正式版,专注于向Angular 2的过渡

基于javascript简单实现对身份证校验

一段实时更新的时间代码

常用参考资料(手册)下载或者链接

获得当前页面URL地址的三个JS代码

精品推荐
分类导航