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压缩利器
Feb 20 Javascript
jQuery $.each的用法说明
Mar 22 Javascript
javascript下数值型比较难点说明
Jun 07 Javascript
jquery tab插件制作实现代码
Jun 22 Javascript
JQuery从头学起第三讲
Jul 06 Javascript
页面定时刷新(1秒刷新一次)
Nov 22 Javascript
微信WeixinJSBridge API使用实例
May 25 Javascript
js限制文本框的输入内容代码分享(3类)
Aug 20 Javascript
浅析jQuery中使用$所引发的问题
May 29 Javascript
使用Angular CLI进行单元测试和E2E测试的方法
Mar 24 Javascript
vue组件中watch props根据v-if动态判断并挂载DOM的问题
May 12 Javascript
微信小程序如何实现全局重新加载
Jun 05 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目录操作函数之获取目录与文件的类型
2010/12/29 PHP
解析PHPExcel使用的常用说明以及把PHPExcel整合进CI框架的介绍
2013/06/24 PHP
php获取随机数组列表的方法
2014/11/13 PHP
PHP可变变量学习小结
2015/11/29 PHP
幻宇的层模拟窗口效果-提供演示和下载
2007/01/20 Javascript
js阻止事件追加的具体实现
2014/10/15 Javascript
js正则表达式验证邮件地址
2015/11/12 Javascript
js实现图片轮播效果
2015/12/19 Javascript
Javascript的比较汇总
2016/07/25 Javascript
在javascript中,null>=0 为真,null==0却为假,null的值详解
2017/02/22 Javascript
Javascript操作dom对象之select全面解析
2017/04/24 Javascript
jQuery使用bind函数实现绑定多个事件的方法
2017/10/11 jQuery
详解使用webpack打包编写一个vue-toast插件
2017/11/08 Javascript
微信小程序实现的点击按钮 弹出底部上拉菜单功能示例
2018/12/20 Javascript
浅谈webpack 四个核心概念之Entry
2019/06/12 Javascript
Typescript的三种运行方式(小结)
2019/09/18 Javascript
vue如何在项目中调用腾讯云的滑动验证码
2020/07/15 Javascript
在Django中同时使用多个配置文件的方法
2015/07/22 Python
Python标准库之itertools库的使用方法
2017/09/07 Python
示例详解Python3 or Python2 两者之间的差异
2018/08/23 Python
Python实现的批量修改文件后缀名操作示例
2018/12/07 Python
Python爬虫实现爬取百度百科词条功能实例
2019/04/05 Python
Python使用grequests(gevent+requests)并发发送请求过程解析
2019/09/25 Python
详解Python在使用JSON时需要注意的编码问题
2019/12/06 Python
在keras里面实现计算f1-score的代码
2020/06/15 Python
深入了解Python装饰器的高级用法
2020/08/13 Python
selenium设置浏览器为headless无头模式(Chrome和Firefox)
2021/01/08 Python
CSS3实现类似翻书效果的过渡动画的示例代码
2019/09/06 HTML / CSS
大学生个人求职信范文
2013/09/21 职场文书
项目经理聘任书
2014/03/29 职场文书
警示教育活动总结
2014/05/05 职场文书
专题组织生活会方案
2014/06/15 职场文书
党的群众路线教育实践活动党员个人剖析材料
2014/10/08 职场文书
物业工程部经理岗位职责
2015/04/09 职场文书
redis实现排行榜功能
2021/05/24 Redis
sql查询语句之平均分、最高最低分及排序语句
2022/05/30 MySQL