-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>身份证校验</title> <script type="text/javascript"> <!-- function validId(_id) { if(_id == "" || (_id.length != 15 && _id.length != 18)) { return false; } _id = _id.replace("X","x"); var _valid = false; if(_id.length == 15){ _valid = validId15(_id); }else if(_id.length == 18){ _valid = validId18(_id); } return _valid; } function validId18(_id) { if(_id == "" || _id.length != 18) { return false; } //权 var _powers = new Array("7","9","10","5","8","4","2","1","6","3","7","9","10","5","8","4","2"); //验证码 var _verifyNo = new Array("1","0","x","9","8","7","6","5","4","3","2"); var basicNo = _id.substr(0,17); var verifyNo = _id.substr(17); var sum = 0; var i; for(i = 0; i < 17;i++) { if(basicNo.charAt(i) < '0' || basicNo.charAt(i) > '9') { return false; } else { sum += parseInt(basicNo.charAt(i))*parseInt(_powers[i]); } } var year = _id.substr(6,4); var month = _id.substr(10,2); var day = _id.substr(12,2); //校验年份位 if(year <'0001' || year >'9999') return false; //校验月份 if(month <'01' || month >'12') return false; //校验日 if(day <'01' || day >'31') return false; var mod = parseInt(sum) % 11; if(_verifyNo[mod] == verifyNo) { return true; } return false; } //校验15位的身份证号码 function validId15(_id) { if(_id == "" || _id.length != 15) { return false; } for(var i=0; i < _id.length; i++) { //校验每一位的合法性 if(_id.charAt(i) < '0' || _id.charAt(i)>'9'){ return false; } } var year = _id.substr(6,2); var month = _id.substr(8,2); var day = _id.substr(10,2); //校验年份位 if(year <'01' || year >'99') return false; //校验月份 if(month <'01' || month >'12') return false; //校验日 if(day <'01' || day >'31') return false; return true; } function checkID() { var IDNo = document.getElementById("IDNo").value; //alert(IDNo); if(!validId(IDNo)) { alert("身份证错误!"); } else { alert("身份证合法!"); } } --> </script> </head> <body> <form> <input type="text" id="IDNo" name="IDNo"> <input type="button" name="cmdOK" value="验证" οnclick="checkID()"> </form> </body> </html>
身份证号码验证算法
最新推荐文章于 2024-04-25 17:18:07 发布