JS实现的验证身份证及获取地区功能示例
本文实例讲述了JS实现的验证身份证及获取地区功能。分享给大家供大家参考,具体如下:
这里的代码可以用来验证身份证号,并且根据身份证号来判断是哪个省份及性别
代码示例:
<head> <title></title> <scriptsrc="Scripts/jquery-1.4.1.min.js"type="text/javascript"></script> </head> <body> <formid="form1"> <label> 身份证号:</label><inputtype="text"id="txtId"/> <inputtype="button"value="验证"onclick="CheckId()"/> </form> </body> </html> <scripttype="text/javascript"> //定义地区数组 varCityArray={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:"国外"} //验证身份证及返回地区、出生年月、性别 functionCheckIdCard(sId){ if(sId.length==15){ sId=sId.replace(/([\d]{6})(\d{9})/,"$119$2x"); } variSum=0 varinfo="" if(!/^\d{17}(\d|x)$/i.test(sId))return"非法的身份证号"; sId=sId.replace(/x$/i,"a"); if(CityArray[parseInt(sId.substr(0,2))]==null)return"Error:非法地区"; sBirthday=sId.substr(6,4)+"-"+Number(sId.substr(10,2))+"-"+Number(sId.substr(12,2)); vard=newDate(sBirthday.replace(/-/g,"/")) if(sBirthday!=(d.getFullYear()+"-"+(d.getMonth()+1)+"-"+d.getDate()))return"Error:非法生日"; for(vari=17;i>=0;i--)iSum+=(Math.pow(2,i)%11)*parseInt(sId.charAt(17-i),11) if(iSum%11!=1)return"Error:非法证号"; returnCityArray[parseInt(sId.substr(0,2))]+","+sBirthday+","+(sId.substr(16,1)%2?"男":"女") } //调用验证方法 functionCheckId(){ varid=$("#txtId").val(); if(id!=""){ alert(CheckIdCard(id)); } } </script>
PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:
JavaScript正则表达式在线测试工具:
http://tools.jb51.net/regex/javascript
正则表达式在线生成工具:
http://tools.jb51.net/regex/create_reg
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript正则表达式技巧大全》、《JavaScript替换操作技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript中json操作技巧总结》、《JavaScript错误与调试技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。