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 相关文章推荐
浅谈JavaScript的内置对象和浏览器对象
Jun 03 Javascript
html+js+highcharts绘制圆饼图表的简单实例
Aug 04 Javascript
jQuery实现的超链接提示效果示例【附demo源码下载】
Sep 09 Javascript
详解vue-resource promise兼容性问题
Jun 20 Javascript
原生javascript实现的全屏滚动功能示例
Sep 19 Javascript
vue项目实现记住密码到cookie功能示例(附源码)
Jan 31 Javascript
jQuery实现table表格信息的展开和缩小功能示例
Jul 21 jQuery
基于vue2.0的活动倒计时组件countdown(附源码下载)
Oct 09 Javascript
详解vue-cli中使用rem,vue自适应
May 06 Javascript
浅谈vue限制文本框输入数字的正确姿势
Sep 02 Javascript
JS实现网页烟花动画效果
Mar 10 Javascript
JS实现页面侧边栏效果探究
Jan 08 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
全国FM电台频率大全 - 7 吉林省
2020/03/11 无线电
php+html5实现无刷新图片上传教程
2016/01/22 PHP
PHP工厂模式、单例模式与注册树模式实例详解
2019/06/03 PHP
PHP7 错误处理机制修改
2021/03/09 PHP
Div Select挡住的解决办法
2008/08/07 Javascript
javascript 尚未实现错误解决办法
2008/11/27 Javascript
基于jquery实现的表格分页实现代码
2011/06/21 Javascript
javascript根据时间生成m位随机数最大13位
2014/10/30 Javascript
深入理解jquery跨域请求方法
2016/05/18 Javascript
JQuery组件基于Bootstrap的DropDownList(完整版)
2016/07/05 Javascript
Bootstrap按钮功能之查询按钮和重置按钮
2016/10/26 Javascript
Vue计算属性的学习笔记
2017/03/22 Javascript
jQuery Datatable 多个查询条件自定义提交事件(推荐)
2017/08/24 jQuery
vue脚手架搭建项目的兼容性配置详解
2018/07/17 Javascript
jQuery实现点击自身以外区域关闭弹出层功能完整示例【改进版】
2018/07/31 jQuery
详解微信小程序之提高应用速度小技巧
2020/01/07 Javascript
[05:07]DOTA2英雄梦之声_第14期_暗影恶魔
2014/06/20 DOTA
python实现自动更换ip的方法
2015/05/05 Python
Python中的左斜杠、右斜杠(正斜杠和反斜杠)
2016/08/30 Python
聊聊Python中的pypy
2018/01/12 Python
python+selenium 脚本实现每天自动登记的思路详解
2020/03/11 Python
详解python3 GUI刷屏器(附源码)
2021/02/18 Python
Canvas制作旋转的太极的示例
2018/03/09 HTML / CSS
艺龙旅行网酒店预订:国内、港澳台酒店
2018/06/26 全球购物
Clarks其乐鞋荷兰官网:Clarks荷兰
2019/07/05 全球购物
体育专业学生自我评价范文
2014/01/17 职场文书
教育技术学专业职业规划书
2014/03/03 职场文书
《灰椋鸟》教学反思
2014/04/27 职场文书
党政领导班子民主生活会整改措施
2014/09/18 职场文书
党的群众路线教育实践活动剖析材料
2014/09/30 职场文书
2015年师德师风承诺书
2015/01/22 职场文书
幼儿园开学家长寄语(2015秋季)
2015/05/27 职场文书
教你使用pyinstaller打包Python教程
2021/05/27 Python
webpack的移动端适配方案小结
2021/07/25 Javascript
CSS实现切角+边框+投影+内容背景色渐变效果
2021/11/01 HTML / CSS
了解MySQL查询语句执行过程(5大组件)
2022/08/14 MySQL