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 相关文章推荐
jQuery弹出层始终垂直居中相对于屏幕或当前窗口
Apr 01 Javascript
JavaScript实现穷举排列(permutation)算法谜题解答
Dec 29 Javascript
Jquery动态添加输入框的方法
May 29 Javascript
EXT中单击button按钮grid添加一行(光标位置可设置)的实例代码
Jun 02 Javascript
ASP.NET jquery ajax传递参数的实例
Nov 02 Javascript
概述javascript在Google IE中的调试技巧
Nov 24 Javascript
bootstrap实现每隔5秒自动轮播效果
Dec 20 Javascript
JSON字符串和JSON对象相互转化实例详解
Jan 05 Javascript
微信小程序网络封装(简单高效)
Aug 06 Javascript
jQuery操作选中select下拉框的值代码实例
Feb 07 jQuery
node.js实现http服务器与浏览器之间的内容缓存操作示例
Feb 11 Javascript
JavaScript自定义超时API代码实例
Apr 30 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
第十一节--重载
2006/11/16 PHP
简单谈谈PHP中的include、include_once、require以及require_once语句
2016/04/23 PHP
php如何实现不借助IDE快速定位行数或者方法定义的文件和位置
2017/01/17 PHP
laravel框架模板之公共模板、继承、包含实现方法分析
2019/08/30 PHP
js png图片(有含有透明)在IE6中为什么不透明了
2010/02/07 Javascript
JavaScript 基础篇之运算符、语句(二)
2012/04/07 Javascript
jquery下div 的resize事件示例代码
2014/03/09 Javascript
原生js实现淘宝首页点击按钮缓慢回到顶部效果
2014/04/06 Javascript
JS实现页面超时后自动跳转到登陆页面
2015/01/19 Javascript
js实现ctrl+v粘贴上传图片(兼容chrome、firefox、ie11)
2016/03/09 Javascript
微信小程序实现实时圆形进度条的方法示例
2017/02/24 Javascript
从零学习node.js之express入门(六)
2017/02/25 Javascript
JS实现简易留言板特效
2019/12/23 Javascript
js构造函数constructor和原型prototype原理与用法实例分析
2020/03/02 Javascript
Python中实现的RC4算法
2015/02/14 Python
python中函数总结之装饰器闭包详解
2016/06/12 Python
python实现机器人行走效果
2018/01/29 Python
使用Flask集成bootstrap的方法
2018/07/24 Python
浅谈Python中(&amp;,|)和(and,or)之间的区别
2019/08/07 Python
使用Python实现图像标记点的坐标输出功能
2019/08/14 Python
python 实现矩阵按对角线打印
2019/11/29 Python
pytorch三层全连接层实现手写字母识别方式
2020/01/14 Python
Python实现点云投影到平面显示
2020/01/18 Python
python实现梯度法 python最速下降法
2020/03/24 Python
python导入库的具体方法
2020/06/18 Python
Python关于拓扑排序知识点讲解
2021/01/04 Python
Data URI scheme详解和使用实例及图片base64编码实现方法
2014/05/08 HTML / CSS
智能旅行箱:Horizn Studios
2018/04/30 全球购物
新西兰最大的连锁超市:Countdown
2020/06/04 全球购物
夜大毕业生自我评价分享
2013/11/10 职场文书
文明家庭先进事迹材
2014/01/27 职场文书
公司承诺书格式
2014/05/21 职场文书
平遥古城导游词
2015/02/03 职场文书
生死抉择观后感
2015/06/09 职场文书
Python 数据可视化之Bokeh详解
2021/11/02 Python
修改Nginx配置返回指定content-type的方法
2022/09/23 Servers