JavaScript验证18位身份证号码最后一位正确性的实现代码


Posted in Javascript onAugust 07, 2014

根据身份证号码推算出最后一位的正确性,如果不正确还会给出正确结果,非常有意思的一断程序。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>javascript 18位身份证号码最后一位校验码</title>
</head>

<body>

<script>
  function getIDChar18(id) {
    var arr = id.split(''), sum = 0, vc = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
    for (var i = 0; i < 17; i++) sum += vc[i] * parseInt(arr[i]);
    return ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'][sum % 11];
  }
  function ValidID(id) {
    if (/^\d{18}$/.test(id)) {
      var c = id.charAt(17), rc = getIDChar18(id);
      if (c == rc) showRst('您输入的18位身份证号码正确!<br>生日:' + id.substr(6, 8) + '<br>性别:' + ['女', '男'][parseInt(id.charAt(16)) % 2]);
      else showRst('您输入的18位身份证号码检验码错误,18位校验码应该为' + rc + '!');
    }
    else showRst('请输入18位数字的身份证号码!');
  }
  function showRst(msg) {document.getElementById('rst').innerHTML=msg }
</script>
<input type="text" onblur="ValidID(this.value)" />
<div id="rst"></div>

</body>
</html>
Javascript 相关文章推荐
document.body.scrollTop 值总为0的解决方法 比较常见的标准问题
Nov 30 Javascript
ExtJS 学习专题(一) 如何应用ExtJS(附实例)
Mar 11 Javascript
js以对象为索引的关联数组
Jul 04 Javascript
不用锚点也可以平滑滚动到页面的指定位置实现代码
May 08 Javascript
查找Oracle高消耗语句的方法
Mar 22 Javascript
jQuery Validate初步体验(一)
Dec 12 Javascript
3种不同的ContextMenu右键菜单实现代码
Nov 03 Javascript
es6在react中的应用代码解析
Nov 08 Javascript
微信小程序Echarts图表组件使用方法详解
Jun 25 Javascript
使用JS来动态操作css的几种方法
Dec 18 Javascript
解决antd datepicker 获取时间默认少8个小时的问题
Oct 29 Javascript
详解vue之自行实现派发与广播(dispatch与broadcast)
Jan 19 Vue.js
jquery bind(click)传参让列表中每行绑定一个事件
Aug 06 #Javascript
jQuery html()方法使用不了无法显示内容的问题
Aug 06 #Javascript
JQuery设置获取下拉菜单某个选项的值(比较全)
Aug 05 #Javascript
js触发select onchange事件的小技巧
Aug 05 #Javascript
jquery中each遍历对象和数组示例
Aug 05 #Javascript
js 动态修改css文件的方法
Aug 05 #Javascript
JS实现关键字搜索时的相关下拉字段效果
Aug 05 #Javascript
You might like
Banner程序
2006/10/09 PHP
php读取文件内容的三种可行方法示例介绍
2014/02/08 PHP
php遍历文件夹和文件列表示例分享
2014/03/11 PHP
html静态页面调用php文件的方法
2014/11/13 PHP
XHProf报告字段含义的解析
2016/05/17 PHP
PHP单链表的实现代码
2016/07/05 PHP
javascript flash下fromCharCode和charCodeAt方法使用说明
2008/01/12 Javascript
JS location几个方法小姐
2008/07/09 Javascript
Ajax,UTF-8还是GB2312 eval 还是execScript
2008/11/13 Javascript
jquery触发a标签跳转事件示例代码
2013/07/21 Javascript
js的onload事件及初始化按钮事件示例代码
2013/09/25 Javascript
node.js中的url.format方法使用说明
2014/12/10 Javascript
使用console进行性能测试
2015/04/27 Javascript
轻松学习jQuery插件EasyUI EasyUI创建树形菜单
2015/11/30 Javascript
详解vue 中使用 AJAX获取数据的方法
2017/01/18 Javascript
webpack 3.X学习之多页面打包的方法
2018/09/04 Javascript
javascript异步处理与Jquery deferred对象用法总结
2019/06/04 jQuery
vue实现随机验证码功能(完整代码)
2019/12/10 Javascript
在微信小程序中使用mqtt服务的方法
2019/12/13 Javascript
Vue前端项目部署IIS的实现
2020/01/06 Javascript
vue+elementui实现点击table中的单元格触发事件--弹框
2020/07/18 Javascript
Python中自定义函数的教程
2015/04/27 Python
python编程之requests在网络请求中添加cookies参数方法详解
2017/10/25 Python
Python设计模式之组合模式原理与用法实例分析
2019/01/11 Python
对python中矩阵相加函数sum()的使用详解
2019/01/28 Python
python 轮询执行某函数的2种方式
2020/05/03 Python
基于python判断字符串括号是否闭合{}[]()
2020/09/21 Python
python 邮件检测工具mmpi的使用
2021/01/04 Python
如何在Canvas中添加事件的方法示例
2019/05/21 HTML / CSS
法国高保真音响和家庭影院商店:Son Video
2019/04/26 全球购物
绿色家庭事迹材料
2014/05/01 职场文书
重阳节活动总结
2014/08/27 职场文书
人民调解协议书范本
2014/10/11 职场文书
财务工作检讨书
2014/10/29 职场文书
师德师风主题教育活动总结
2015/05/07 职场文书
《夸父追日》教学反思
2016/02/20 职场文书