zoukankan      html  css  js  c++  java
  • 从盛大通行证上摘下来的身份证验证代码

    <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>
    

  • 相关阅读:
    Winform 自定义TabControl实现浏览器标签
    LeetCode Add Two Numbers
    Java基础知识复习(二)
    Java基础知识复习(一)
    0-1背包问题复习
    centos7 vmware克隆解决网络问题
    阿里云上Docker Compose部署wordpress
    不需要瞎折腾,官方文档才是终极
    centos7 nginx安装
    iptables练习题(四)
  • 原文地址:https://www.cnblogs.com/fejerry/p/1932956.html
Copyright © 2011-2022 走看看