Heim > Web-Frontend > js-Tutorial > js身份证判断方法支持15位和18位_javascript技巧

js身份证判断方法支持15位和18位_javascript技巧

WBOY
Freigeben: 2016-05-16 16:55:02
Original
1027 Leute haben es durchsucht
复制代码 代码如下:

//HTML页面上要有一个id为identity_card的input输入框,一个id为ipmessage的身份证错误或正确时提示消息的地方
<script> <BR>//身份证验证 <BR>$(document).ready(function(){ <BR>$("#identity_card").change(function(){ <BR>var idcard =$(this).val(); <BR>checkDate(idcard ); <BR>}); <BR>}); <BR>//身份证 <BR>function checkDate( idcard ){ <BR>var socialNo = idcard; <BR>if(socialNo == "") <BR>{ <BR>$('#ipmessage').html('输入身份证号码格式不正确,必须是15位到18位的身份证号'); <BR>alert("输入身份证号码不能为空!"); <BR>return (false); <BR>} <BR>if (socialNo.length != 15 && socialNo.length != 18) <BR>{ <BR>$('#ipmessage').html('输入身份证号码格式不正确,必须是15位到18位的身份证号'); <BR>alert("输入身份证号码格式不正确!"); <BR>return (false); <BR>} <BR>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:"国外"}; <BR>if(area[parseInt(socialNo.substr(0,2))]==null) { <BR>$('#ipmessage').html('输入身份证号码格式不正确,必须是15位到18位的身份证号'); <BR>alert("身份证号码不正确(地区非法)!"); <BR>return (false); <BR>} <BR>if (socialNo.length == 15) <BR>{ <BR>pattern= /^\d{15}$/; <BR>if (pattern.exec(socialNo)==null){ <BR>$('#ipmessage').html('输入身份证号码格式不正确,必须是15位到18位的身份证号'); <BR>alert("15位身份证号码必须为数字!"); <BR>return (false); <BR>} <BR>var birth = parseInt("19" + socialNo.substr(6,2)); <BR>var month = socialNo.substr(8,2); <BR>var day = parseInt(socialNo.substr(10,2)); <BR>switch(month) { <BR>case '01': <BR>case '03': <BR>case '05': <BR>case '07': <BR>case '08': <BR>case '10': <BR>case '12': <BR>if(day>31) { <BR>$('#ipmessage').html('输入身份证号码格式不正确,必须是15位到18位的身份证号'); <BR>alert('输入身份证号码不格式正确!'); <BR>return false; <BR>} <BR>break; <BR>case '04': <BR>case '06': <BR>case '09': <BR>case '11': <BR>if(day>30) { <BR>$('#ipmessage').html('输入身份证号码格式不正确,必须是15位到18位的身份证号'); <BR>alert('输入身份证号码不格式正确!'); <BR>return false; <BR>} <BR>break; <BR>case '02': <BR>if((birth % 4 == 0 && birth % 100 != 0) || birth % 400 == 0) { <BR>if(day>29) { <BR>$('#ipmessage').html('输入身份证号码格式不正确,必须是15位到18位的身份证号'); <BR>alert('输入身份证号码不格式正确!'); <BR>return false; <BR>} <BR>} else { <BR>if(day>28) { <BR>$('#ipmessage').html('输入身份证号码格式不正确,必须是15位到18位的身份证号'); <BR>alert('输入身份证号码不格式正确!'); <BR>return false; <BR>} <BR>} <BR>break; <BR>default: <BR>$('#ipmessage').html('输入身份证号码格式不正确,必须是15位到18位的身份证号'); <BR>alert('输入身份证号码不格式正确!'); <BR>return false; <BR>} <BR>var nowYear = new Date().getYear(); <BR>if(nowYear - parseInt(birth)<15 || nowYear - parseInt(birth)>100) { <BR>$('#ipmessage').html('输入身份证号码格式不正确,必须是15位到18位的身份证号'); <BR>alert('输入身份证号码不格式正确!'); <BR>return false; <BR>} <BR>$('#ipmessage').html('通过!'); <BR>return (true); <BR>} <BR>var Wi = new Array( <BR>7,9,10,5,8,4,2,1,6, <BR>3,7,9,10,5,8,4,2,1 <BR>); <BR>var lSum = 0; <BR>var nNum = 0; <BR>var nCheckSum = 0; <BR>for (i = 0; i < 17; ++i) <BR>{ <BR>if ( socialNo.charAt(i) < '0' || socialNo.charAt(i) > '9' ) <BR>{ <BR>$('#ipmessage').html('输入身份证号码格式不正确,必须是15位到18位的身份证号'); <BR>alert("输入身份证号码格式不正确!"); <BR>return (false); <BR>} <BR>else <BR>{ <BR>nNum = socialNo.charAt(i) - '0'; <BR>} <BR>lSum += nNum * Wi[i]; <BR>} <BR>if( socialNo.charAt(17) == 'X' || socialNo.charAt(17) == 'x') <BR>{ <BR>lSum += 10*Wi[17]; <BR>} <BR>else if ( socialNo.charAt(17) < '0' || socialNo.charAt(17) > '9' ) <BR>{ <BR>$('#ipmessage').html('输入身份证号码格式不正确,必须是15位到18位的身份证号'); <BR>alert("输入身份证号码格式不正确!"); <BR>return (false); <BR>} <BR>else <BR>{ <BR>lSum += ( socialNo.charAt(17) - '0' ) * Wi[17]; <BR>} <BR>if ( (lSum % 11) == 1 ) <BR>{ <BR>$('#ipmessage').html('通过!'); <BR>return true; <BR>} <BR>else <BR>{ <BR>$('#ipmessage').html('输入身份证号码格式不正确,必须是15位到18位的身份证号'); <BR>alert("输入身份证号码格式不正确!"); <BR>return (false); <BR>} <BR>} <BR></script>
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage