JS编写函数实现对身份证号码最后一位的验证功能


Posted in Javascript onDecember 29, 2016

二代身份证号码为18位,其最后一位(第18位)的计算方法为:

1、 将前面的身份证号码17位数分别乘以不同的系数。从第一位到第十七位的系数分别为:

7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2

2、 将这17位数字和系数相乘的结果相加

3、 用加出来和除以11,看余数是多少?

4、 余数只可能有0-1-2-3-4-5-6-7-8-9-10这11个数字。每个数字所对应的最后一位身份证的号码为:1-0-X-9-8-7-6-5-4-3-2。即,如果余数是2,就会在身份证的第18位数字上出现罗马数字的Ⅹ。如果余数是10,身份证的最后一位号码就是2。

例如:某男性的身份证号码是34052419800101001X。验证其最后一位是否正确时,首先需要得出前17位的乘积和是189,然后用189除以11得出的结果是17+2/11,也就是说其余数是2。最后通过对应规则就可以知道余数2对应的数字是x。所以,可以判定此身份证号码的最后一位是合格的。

编写验证方法如下:

//验证方法
function verifyCode(id){
 if(id.length !=18 )
  return false;
 /*1、从第一位到第十七位的系数分别为:
   7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2 
   将这17位数字和系数相乘的结果相加。 */ 
 var arr = [7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2];
 var sum = 0;
 for(var i=0; i<arr.length; i++){
  sum += parseInt(id.charAt(i)) * arr[i];
 }
 //2、用加出来和除以11,看余数,
 var c = sum%11;
 //3、分别对应的最后一位身份证的号码为:1-0-X-9-8-7-6-5-4-3-2
 var ch = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'];
 var code = ch[c];
 var last = id.charAt(17);
 last = last=='x' ? 'X': last;
 return last == code;
 }

测试该方法:

var id = "34052419800101001X";
 console.log(verifyCode(id));

以上所述是小编给大家介绍的JS编写函数实现对身份证号码最后一位的验证功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
[全兼容哦]--实用、简洁、炫酷的页面转入效果loing
May 07 Javascript
40个新鲜出炉的jQuery 插件和免费教程[上]
Jul 24 Javascript
jquery 插件学习(六)
Aug 06 Javascript
javascript中的绑定与解绑函数应用示例
Jun 24 Javascript
jquery $.fn $.fx是什么意思有什么用
Nov 04 Javascript
让angularjs支持浏览器自动填表
Nov 10 Javascript
JavaScript中判断两个字符串是否相等的方法
Jul 07 Javascript
angularJS Provider、factory、service详解及实例代码
Sep 21 Javascript
js document.getElementsByClassName的使用介绍与自定义函数
Nov 25 Javascript
Angular.js中$resource高大上的数据交互详解
Jul 30 Javascript
js闭包学习心得总结
Apr 17 Javascript
vue实现表单录入小案例
Sep 27 Javascript
EasyUI学习之Combobox下拉列表(1)
Dec 29 #Javascript
JSON中key动态设置及JSON.parse和JSON.stringify()的区别
Dec 29 #Javascript
jQuery+HTML5实现弹出创意搜索框层
Dec 29 #Javascript
Bootstrap3 内联单选和多选框
Dec 29 #Javascript
Bootstrap3 多选和单选框(checkbox)
Dec 29 #Javascript
EasyUI学习之DataGird分页显示数据
Dec 29 #Javascript
EasyUI学习之Combobox级联下拉列表(2)
Dec 29 #Javascript
You might like
使用php清除bom示例
2014/03/03 PHP
php实现的漂亮分页方法
2014/04/17 PHP
php分页查询的简单实现代码
2017/03/14 PHP
PHP用函数嵌入网站访问量计数器
2017/10/27 PHP
Laravel获取所有的数据库表及结构的方法
2019/10/10 PHP
javascript hashtable实现代码
2009/10/13 Javascript
jQuery固定浮动侧边栏实现思路及代码
2014/09/28 Javascript
浅谈JS中json数据的处理
2016/06/30 Javascript
Bootstrap分页插件之Bootstrap Paginator实例详解
2016/10/15 Javascript
zTree实现节点修改的实时刷新功能
2017/03/20 Javascript
详解jquery插件jquery.viewport.js学习使用方法
2017/09/08 jQuery
vue中进入详情页记住滚动位置的方法(keep-alive)
2018/09/21 Javascript
详解在HTTPS 项目中使用百度地图 API
2019/04/26 Javascript
layui添加动态菜单与选项卡 AJAX请求的例子
2019/09/25 Javascript
Python实现的二维码生成小软件
2014/07/11 Python
Python中使用第三方库xlrd来写入Excel文件示例
2015/04/05 Python
使用Python编写简单的画图板程序的示例教程
2015/12/08 Python
python中的二维列表实例详解
2018/06/19 Python
python matlibplot绘制3D图形
2018/07/02 Python
tensorflow 实现自定义layer并添加到计算图中
2020/02/04 Python
keras 获取某层输出 获取复用层的多次输出实例
2020/05/23 Python
零基础小白多久能学会python
2020/06/22 Python
python产生模拟数据faker库的使用详解
2020/11/04 Python
css3翻牌翻数字的示例代码
2020/02/07 HTML / CSS
长曲棍球装备:Lacrosse Monkey
2020/12/02 全球购物
网络工程师的自我评价
2013/10/02 职场文书
高中毕业自我鉴定
2013/12/19 职场文书
医院护士的求职信范文
2013/12/26 职场文书
青安岗事迹材料
2014/05/14 职场文书
篮球比赛策划方案
2014/06/05 职场文书
质量管理标语
2014/06/12 职场文书
自我查摆剖析材料
2014/10/11 职场文书
入党政审材料范文
2014/12/24 职场文书
大学生支教感言
2015/08/01 职场文书
六一儿童节致辞稿(3篇)
2019/07/11 职场文书
MySQL 逻辑备份 into outfile
2022/05/15 MySQL