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 相关文章推荐
JS BASE64编码 window.atob(), window.btoa()
Mar 09 Javascript
jquery 选择器部分整理
Oct 28 Javascript
在jQuery中 关于json空对象筛选替换
Apr 15 Javascript
利用jQuery实现漂亮的圆形进度条倒计时插件
Sep 30 Javascript
AngularJS入门教程之AngularJS 模板
Aug 18 Javascript
select自定义小三角样式代码(实用总结)
Aug 18 Javascript
浅谈Angular4实现热加载开发旅程
Sep 08 Javascript
vue如何判断dom的class
Apr 26 Javascript
vue2.0+vue-router构建一个简单的列表页的示例代码
Feb 13 Javascript
简谈创建React Component的几种方式
Jun 15 Javascript
Vuex的实战使用详解
Oct 31 Javascript
vue制作抓娃娃机的示例代码
Apr 17 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
用php+javascript实现二级级联菜单的制作
2008/05/06 PHP
PHP 函数语法介绍一
2009/06/14 PHP
PHP验证码无法显示的原因及解决办法
2017/08/11 PHP
javascript之通用简单的table选项卡实现(二)
2010/05/09 Javascript
js验证模型自我实现的具体方法
2013/06/21 Javascript
jquery默认校验规则整理
2014/03/24 Javascript
自己动手手写jQuery插件总结
2015/01/20 Javascript
JS判断字符串包含的方法
2015/05/05 Javascript
JavaScript中Number.MAX_VALUE属性的使用方法
2015/06/04 Javascript
JavaScript的Ext JS框架中的GridPanel组件使用指南
2016/05/21 Javascript
EasyUI的doCellTip实现鼠标放到单元格上提示单元格内容
2016/08/24 Javascript
JavaScript九九乘法口诀表的简单实现
2016/10/04 Javascript
利用jQuery插件imgAreaSelect实现图片上传裁剪(放大缩小)
2016/12/02 Javascript
JS声明式函数与赋值式函数实例分析
2016/12/13 Javascript
利用Bootstrap实现表格复选框checkbox全选
2016/12/21 Javascript
了解VUE的render函数的使用
2017/06/08 Javascript
Vue 框架之键盘事件、健值修饰符、双向数据绑定
2018/11/14 Javascript
实例讲解v-if和v-show的区别
2019/01/31 Javascript
vue cli3.0打包上线静态资源找不到路径的解决操作
2020/08/03 Javascript
Vue中正确使用Element-UI组件的方法实例
2020/10/13 Javascript
TensorFLow用Saver保存和恢复变量
2018/03/10 Python
Django ORM多对多查询方法(自定义第三张表&amp;ManyToManyField)
2019/08/09 Python
详解Python list和numpy array的存储和读取方法
2019/11/06 Python
Tkinter中复选菜单是否被选中的判断与设置方式
2020/03/04 Python
html5 初试 indexedDB(推荐)
2016/07/21 HTML / CSS
详解如何使用rem或viewport进行移动端适配
2020/08/14 HTML / CSS
土耳其时尚潮流在线购物网站:Trendyol
2017/10/10 全球购物
澳大利亚珠宝商:Shiels
2019/10/06 全球购物
专升本自我鉴定
2013/10/10 职场文书
大四学生毕业自荐信
2013/11/07 职场文书
王兆力在市委党的群众路线教育实践活动总结大会上的讲话稿
2014/10/25 职场文书
2014年平安夜寄语
2014/12/08 职场文书
求职简历自荐信怎么写
2015/03/26 职场文书
军事博物馆观后感
2015/06/05 职场文书
如何在centos上使用yum安装rabbitmq-server
2021/03/31 Servers
MySQL Shell的介绍以及安装
2021/04/24 MySQL