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 相关文章推荐
jquery api参考 visualjquery 中国线路 速度快
Nov 30 Javascript
javascript replace方法与正则表达式
Feb 19 Javascript
js限制文本框输入长度两种限制方式(长度、字节数)
Dec 19 Javascript
利用a标签自动解析URL分析网址实例
Oct 20 Javascript
JS动态显示表格上下frame的方法
Mar 31 Javascript
JavaScript实现身份证验证代码
Feb 17 Javascript
基于JavaScript实现弹出框效果
Feb 19 Javascript
基于JavaScript实现添加到购物车效果附源码下载
Aug 22 Javascript
JavaScript编写的网页小游戏,很给力
Aug 18 Javascript
js实现经典贪吃蛇小游戏
Mar 19 Javascript
vue.js中使用微信扫一扫解决invalid signature问题(完美解决)
Apr 11 Javascript
JavaScript实现简单拖拽效果
Sep 15 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
丧钟首部独立剧集《丧钟:骑士与龙》北美正式开播,场面血腥
2020/04/09 欧美动漫
window+nginx+php环境配置 附配置搭配说明
2010/12/29 PHP
file_get_contents获取不到网页内容的解决方法
2013/03/07 PHP
PHP异常Parse error: syntax error, unexpected T_VAR错误解决方法
2014/05/06 PHP
PHP单链表的实现代码
2016/07/05 PHP
详解CSS样式中的 !important * _ 符号
2021/03/09 HTML / CSS
JavaScript 节点操作 以及DOMDocument属性和方法
2007/12/06 Javascript
CSS JavaScript 实现菜单功能 改进版
2008/12/09 Javascript
JavaScript 打地鼠游戏代码说明
2010/10/12 Javascript
JavaScript监听和禁用浏览器回车事件实例
2015/01/31 Javascript
纯javascript移动优先的幻灯片效果
2015/11/02 Javascript
AngularJS国际化详解及示例代码
2016/08/18 Javascript
JavaScript手风琴页面制作
2017/05/17 Javascript
微信小程序Redux绑定实例详解
2017/06/07 Javascript
删除table表格行的实例讲解
2017/09/21 Javascript
vue mintui-Loadmore结合实现下拉刷新和上拉加载示例
2017/10/12 Javascript
代码详解javascript模块加载器
2018/03/04 Javascript
详解js location.href和window.open的几种用法和区别
2019/12/02 Javascript
JavaScript鼠标悬停事件用法解析
2020/05/15 Javascript
详解微信小程序入门从这里出发(登录注册、开发工具、文件及结构介绍)
2020/07/21 Javascript
python发送邮件示例(支持中文邮件标题)
2014/02/16 Python
python实现在字符串中查找子字符串的方法
2015/07/11 Python
python变量的存储原理详解
2019/07/10 Python
python exit出错原因整理
2020/08/31 Python
python判断变量是否为列表的方法
2020/09/17 Python
英国健身超市:Fitness Superstore
2019/06/17 全球购物
戴尔新加坡官网:Dell Singapore
2020/12/13 全球购物
一名毕业生的自我鉴定
2013/12/04 职场文书
诚信考试承诺书
2014/03/27 职场文书
纪念一二九运动演讲稿
2014/09/16 职场文书
干部作风整顿个人剖析材料
2014/10/06 职场文书
离婚协议书怎么写
2015/01/26 职场文书
毕业论文致谢范文
2015/05/14 职场文书
2016年过年放假安排通知
2015/08/18 职场文书
《灰雀》教学反思
2016/02/19 职场文书
如何用JavaScript检测当前浏览器是无头浏览器
2021/04/27 Javascript