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中==与===操作符的比较
Mar 21 Javascript
js 对联广告、漂浮广告封装类(IE,FF,Opera,Safari,Chrome
Nov 26 Javascript
Array, Array Constructor, for in loop, typeof, instanceOf
Sep 13 Javascript
使用JavaScript 实现对象 匀速/变速运动的方法
May 08 Javascript
使用Chart.js图表库制作漂亮的响应式表单
Oct 28 Javascript
关于动态生成dom绑定事件失效的原因及解决方法
Aug 06 Javascript
微信小程序 获取设备信息 API实例详解
Oct 02 Javascript
bootstrap——bootstrapTable实现隐藏列的示例
Jan 14 Javascript
bootstrap实现的自适应页面简单应用示例
Mar 09 Javascript
详解js根据百度地图提供经纬度计算两点距离
May 13 Javascript
原生js实现二级联动菜单
Nov 27 Javascript
vue3.0中友好使用antdv示例详解
Jan 05 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
PHP 面向对象程序设计(oop)学习笔记(三) - 单例模式和工厂模式
2014/06/12 PHP
PHP+APACHE实现网址伪静态
2015/02/22 PHP
PHP的Yii框架中创建视图和渲染视图的方法详解
2016/03/29 PHP
PHP转换文本框内容为HTML格式的方法
2016/07/20 PHP
在thinkphp5.0路径中实现去除index.php的方式
2019/10/16 PHP
jQuery判断密码强度实现思路及代码
2013/04/24 Javascript
浅析JavaScript基本类型与引用类型
2014/05/28 Javascript
jQuery提交多个表单的小技巧
2014/07/27 Javascript
Javascript基础知识(三)BOM,DOM总结
2014/09/29 Javascript
使用node.js 获取客户端信息代码分享
2014/11/26 Javascript
jQuery实现非常实用漂亮的select下拉菜单选择效果
2015/11/06 Javascript
Bootstrap编写一个同时适用于PC、平板、手机的登陆页面
2016/06/30 Javascript
getElementById().innerHTML与getElementById().value的区别
2016/10/27 Javascript
jquery 实时监听输入框值变化的完美方法(必看)
2017/01/26 Javascript
webpack vue项目开发环境局域网访问方法
2018/03/20 Javascript
Vue.js + Nuxt.js 项目中使用 Vee-validate 表单校验
2019/04/22 Javascript
vue-cli3 项目优化之通过 node 自动生成组件模板 generate View、Component
2019/04/30 Javascript
Python实现数据库编程方法详解
2015/06/09 Python
Python 模拟登陆的两种实现方法
2017/08/10 Python
Python装饰器用法实例总结
2018/02/07 Python
python3.4爬虫demo
2019/01/22 Python
Python3.5以上版本lxml导入etree报错的解决方案
2019/06/26 Python
python采集百度搜索结果带有特定URL的链接代码实例
2019/08/30 Python
Python configparser模块常用方法解析
2020/05/22 Python
Python中的None与 NULL(即空字符)的区别详解
2020/09/24 Python
CSS3属性选择符介绍
2008/10/17 HTML / CSS
HTML5 文件上传下载的实例代码
2017/07/03 HTML / CSS
Sasa莎莎海外旗舰店:香港莎莎美妆平台
2018/03/21 全球购物
如何理解委托
2012/01/06 面试题
产品工艺师的岗位职责
2013/11/15 职场文书
房地产推广策划方案
2014/05/19 职场文书
篮球比赛策划方案
2014/06/05 职场文书
对外汉语专业大学生职业生涯规划书
2014/10/11 职场文书
《分一些蚊子进来》读后感3篇
2020/01/09 职场文书
基于Pygame实现简单的贪吃蛇游戏
2021/12/06 Python
深入理解pytorch库的dockerfile
2022/06/10 Python