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 相关文章推荐
从零开始学习jQuery (四) jQuery中操作元素的属性与样式
Feb 23 Javascript
js获取控件位置以及不同浏览器中的差别介绍
Aug 08 Javascript
jQuery多媒体插件jQuery Media Plugin使用详解
Dec 19 Javascript
Bootstrap 附加导航(Affix)插件实例详解
Jun 01 Javascript
Node.js读写文件之批量替换图片的实现方法
Sep 07 Javascript
js中的DOM模拟购物车功能
Mar 22 Javascript
vue中设置height:100%无效的问题及解决方法
Jul 27 Javascript
详解javascript设计模式三:代理模式
Mar 25 Javascript
详解小程序用户登录状态检查与更新实例
May 15 Javascript
使用 UniApp 实现小程序的微信登录功能
Jun 09 Javascript
微信小程序实现列表滚动头部吸顶的示例代码
Jul 12 Javascript
H5+css3+js搭建带验证码的登录页面
Oct 11 Javascript
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
Notice: Undefined index: page in E:\PHP\test.php on line 14
2010/11/02 PHP
判断php数组是否为索引数组的实现方法
2013/06/13 PHP
PHP编程中的常见漏洞和代码实例
2014/08/06 PHP
Ajax提交表单时验证码自动验证 php后端验证码检测
2016/07/20 PHP
微信公众号开发客服接口实例代码
2016/10/21 PHP
ThinkPHP3.1.x修改成功与失败跳转页面的方法
2017/09/29 PHP
Javascript 模式实例 观察者模式
2009/10/24 Javascript
js 实现复制到粘贴板的功能代码
2010/05/13 Javascript
jquery 学习之二 属性 文本与值(text,val)
2010/11/25 Javascript
IE8中使用javascript动态加载CSS的解决方法
2014/06/17 Javascript
JavaScript字符串对象toUpperCase方法入门实例(用于把字母转换为大写)
2014/10/17 Javascript
HTML5+setCutomValidity()函数验证表单实例分享
2015/04/24 Javascript
JS判断页面是否出现滚动条的方法
2015/07/17 Javascript
js带缩略图的图片轮播效果代码分享
2015/09/14 Javascript
详解Vue 事件修饰符capture 的使用
2017/12/29 Javascript
vue 组件高级用法实例详解
2018/04/11 Javascript
微信小程序 弹窗输入组件的实现解析
2019/08/12 Javascript
JQuery常用选择器功能与用法实例分析
2019/12/23 jQuery
[01:42:49]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD BO3 第一场 2月26日
2021/03/11 DOTA
使用python实现快速搭建简易的FTP服务器
2018/09/12 Python
解决python 自动安装缺少模块的问题
2018/10/22 Python
PyQt5组件读取参数的实例
2019/06/25 Python
Python私有属性私有方法应用实例解析
2020/09/15 Python
python 写一个性能测试工具(一)
2020/10/24 Python
在HTML5 canvas里用卷积核进行图像处理的方法
2018/05/02 HTML / CSS
英国最大的美妆产品在线零售商之一:Beauty Bay
2017/09/29 全球购物
优瑞自动咖啡机官网:Jura
2018/09/29 全球购物
文秘专业个人求职信
2013/12/22 职场文书
餐饮业的创业计划书范文
2013/12/26 职场文书
军人违纪检讨书
2014/02/04 职场文书
专科生就业求职信
2014/06/22 职场文书
党员演讲稿
2014/09/04 职场文书
大学生毕业评语
2014/12/31 职场文书
罗马假日观后感
2015/06/08 职场文书
2019年学校消防安全责任书(2篇)
2019/10/09 职场文书
Django分页器的用法你都了解吗
2021/05/26 Python