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复制到剪贴板示例代码
Oct 30 Javascript
打造个性化的功能强大的Jquery虚拟键盘(VirtualKeyboard)
Oct 11 Javascript
简介JavaScript中的unshift()方法的使用
Jun 09 Javascript
常用jQuery代码分享
Jul 14 Javascript
javascript使用输出语句实现网页特效代码
Aug 06 Javascript
JavaScript必知必会(五) eval 的使用
Jun 08 Javascript
js 自带的 map() 方法全面了解
Aug 16 Javascript
浅谈js数据类型判断与数组判断
Aug 29 Javascript
JavaScript函数节流和函数防抖之间的区别
Feb 15 Javascript
JS解决移动web开发手机输入框弹出的问题
Mar 31 Javascript
jQuery进阶实践之利用最优雅的方式如何写ajax请求
Dec 20 jQuery
vue watch普通监听和深度监听实例详解(数组和对象)
Aug 16 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学习笔记(毕业设计)
2012/02/21 PHP
php实现生成code128条形码的方法详解
2017/07/19 PHP
php支付宝系列之电脑网站支付
2018/05/30 PHP
Ajax+PHP实现的模拟进度条功能示例
2019/02/11 PHP
基于JavaScript实现继承机制之原型链(prototype chaining)的详解
2013/05/07 Javascript
JavaScript省市联动实现代码
2014/02/15 Javascript
dreamweaver 8实现Jquery自动提示
2014/12/04 Javascript
JS函数this的用法实例分析
2015/02/05 Javascript
js实现选中复选框文字变色的方法
2015/08/14 Javascript
JS简单实现禁止访问某个页面的方法
2016/09/13 Javascript
详解webpack+vue-cli项目打包技巧
2017/06/17 Javascript
vue.js的computed,filter,get,set的用法及区别详解
2018/03/08 Javascript
玩转Koa之koa-router原理解析
2018/12/29 Javascript
JavaScript中import用法总结
2019/01/20 Javascript
详解vue使用插槽分发内容slot的用法
2019/03/28 Javascript
vue实现的上拉加载更多数据/分页功能示例
2019/05/25 Javascript
jQuery带控制按钮轮播图插件
2020/07/31 jQuery
JS实现多功能计算器
2020/10/28 Javascript
Vue-router编程式导航的两种实现代码
2021/03/04 Vue.js
Python使用asyncio包处理并发详解
2017/09/09 Python
Python3解决棋盘覆盖问题的方法示例
2017/12/07 Python
Python numpy实现数组合并实例(vstack,hstack)
2018/01/09 Python
python3实现随机数
2018/06/25 Python
使用 Python 处理 JSON 格式的数据
2019/07/22 Python
使用Tensorboard工具查看Loss损失率
2020/02/15 Python
详解Python3中的 input() 函数
2020/03/18 Python
详解使用python爬取抖音app视频(appium可以操控手机)
2021/01/26 Python
美国电子元器件分销商:Newark element14
2018/01/13 全球购物
美国排名第一的泳池用品直接来源:In The Swim
2019/09/23 全球购物
计算机毕业生自荐信范文
2014/03/23 职场文书
初中生操行评语大全
2014/04/24 职场文书
2014年维修工作总结
2014/11/22 职场文书
听证会主持词
2015/07/03 职场文书
2015年高中生国庆节演讲稿
2015/07/30 职场文书
个人的事迹材料怎么写
2019/04/24 职场文书
教你怎么用python爬取爱奇艺热门电影
2021/05/20 Python