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 相关文章推荐
云网广告中的代码,提示出错,大家找找
Nov 21 Javascript
jquery 简单导航实现代码
Sep 11 Javascript
jquery 输入框数字限制插件
Nov 10 Javascript
extjs tabpanel限制选项卡数量实现思路及代码
Apr 02 Javascript
js动态为代码着色显示行号
May 29 Javascript
jquery easyui 对于开始时间小于结束时间的判断示例
Mar 22 Javascript
如何解决手机浏览器页面点击不跳转浏览器双击放大网页
Jul 01 Javascript
Ajax基础知识详解
Feb 17 Javascript
Vue.js实现的计算器功能完整示例
Jul 11 Javascript
深入理解JS中Number(),parseInt(),parseFloat()三者比较
Aug 24 Javascript
一秒学会微信小程序制作table表格
Feb 14 Javascript
node.js实现上传文件功能
Jul 15 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 class类的用法详细总结
2013/10/17 PHP
PHP批量生成静态HTML的简单原理和方法
2014/04/20 PHP
php判断数组元素中是否存在某个字符串的方法
2014/06/14 PHP
PHP数字和字符串ID互转函数(类似优酷ID)
2014/06/30 PHP
php下Memcached入门实例解析
2015/01/05 PHP
thinkphp5 migrate数据库迁移工具
2018/02/20 PHP
TP5(thinkPHP5)框架基于ajax与后台数据交互操作简单示例
2018/09/03 PHP
cssQuery()的下载与使用方法
2007/01/12 Javascript
jquery(live)中File input的change方法只起一次作用的解决办法
2011/10/21 Javascript
jquery 获取自定义属性(attr和prop)的实现代码
2012/06/27 Javascript
jsvascript图像处理—(计算机视觉应用)图像金字塔
2013/01/15 Javascript
Extjs单独定义各组件的实例代码
2013/06/25 Javascript
jQuery.Highcharts.js绘制柱状图饼状图曲线图
2015/03/14 Javascript
利用jQuery异步上传文件的插件用法详解
2017/07/19 jQuery
Node.js使用Koa搭建 基础项目
2018/01/08 Javascript
vue2.0结合Element-ui实战案例
2019/03/06 Javascript
微信小程序实现收货地址左滑删除
2020/11/18 Javascript
jquery实现的放大镜效果示例
2020/02/24 jQuery
微信小程序中的上拉、下拉菜单功能
2020/03/13 Javascript
Js和VUE实现跑马灯效果
2020/05/25 Javascript
vue组件中节流函数的失效的原因和解决方法
2020/12/02 Vue.js
[01:09]DOTA2次级职业联赛 - ishow.HMM战队宣传片
2014/12/01 DOTA
[01:01:35]Optic vs paiN 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
详解Python中的动态属性和特性
2018/04/07 Python
Python os.access()用法实例
2019/02/18 Python
Python 3.8 新功能全解
2019/07/25 Python
css3边框_动力节点Java学院整理
2017/07/11 HTML / CSS
新英格兰最大的特色礼品连锁店:The Paper Store
2018/07/23 全球购物
BNKR中国官网:带你感受澳洲领先潮流时尚
2018/08/21 全球购物
Scotch Porter官方网站:男士美容产品
2020/08/31 全球购物
技术总监管理职责范本
2014/03/06 职场文书
保密协议书范本
2014/04/22 职场文书
承诺书的签字人,需不需要承担相应的责任?
2019/07/09 职场文书
Nginx优化服务之网页压缩的实现方法
2021/03/31 Servers
CSS3实现三角形不断放大效果
2021/04/13 HTML / CSS
Python中requests库的用法详解
2022/06/05 Python