JS验证身份证

匿名 (未验证) 提交于 2019-12-03 00:39:02

话不多说,直接看代码

 

JS部分

/**   * 身份证15位编码规则:dddddd yymmdd xx p  * dddddd:地区码  * yymmdd: 出生年月日  * xx: 顺序类编码,无法确定  * p: 性别,奇数为男,偶数为女  * <p />  * 身份证18位编码规则:dddddd yyyymmdd xxx y  * dddddd:地区码  * yyyymmdd: 出生年月日  * xxx:顺序类编码,无法确定,奇数为男,偶数为女  * y: 校验码,该位数值可通过前17位计算获得  * <p />  * 18位号码加权因子为(从右到左) wi = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2,1 ]  * 验证位 Y = [ 1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2 ]  * 校验位计算公式:Y_P = mod( ∑(Ai×wi),11 )  * i为身份证号码从右往左数的 2...18 位; Y_P为校验码所在校验码数组位置  *  */ // 加权因子 var wi = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1]; // 身份证验证位值.10代表X    var valideCodeArr = [1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2];  // 区域ID var areaMap = {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:"国外"}; 
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!