JavaScript 身份证号有效验证详解及实例代码


Posted in Javascript onOctober 20, 2016

最近需要对身份证合法性进行验证,实名验证是不指望了,不过原来的验证规则太过简单,只是简单的验证了身份证长度,现在业务需要加强下身份证验证规则,网上找到了不少资料,不过都不合偶的心意,无奈只好直接写一个,代码还是用自己的舒服哈

JavaScript验证身份证号

<%@ page language="java" contentType="text/html; charset=GB18030"
  pageEncoding="GB18030"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>身份证验证</title>
<script type="text/javascript"> 
var arr2=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2];
var arr3=[1,0,'X',9,8,7,6,5,4,3,2];
function checkid(){
  var t=document.getElementById("gettext").value;
  if(t.length==18){
    var arr=t.split('');
    var s;
    var reg = /^\d+$/;
    var pd=0;
    for(i=0;i<17;i++){
      if(reg.test(arr[i])){
        s=true;
        pd=arr[i]*arr2[i]+pd;
      }else{
        s=false;
        break;
      }
    }
    if(s=true){
      var r=pd%11;
      if(arr[17]==arr3[r]){
        document.getElementById("show").innerHTML="身份证号合法  尾号为:"+arr3[r];
      }else{
        document.getElementById("show").innerHTML="非合法身份证号";
      }
    }
    
  }else{
    document.getElementById("show").innerHTML="非合法身份证号";
  }
}
</script>
</head>
<body >
<input id="gettext" type="text" size="30" onkeyup="checkid()">
<p id="show"></p><br>
</body>
</html>

根据网上的身份证的计算公式写的一个验证身份证号的js

第一步:将身份证号码的第1位数字与7相乘;将身份证号码的第2位数字与9相乘;将身份证号码的第3位数字与10相乘;将身份证号码的第4位数字与5相乘;将身份证号码的第5位数字与8相乘;将身份证号码的第6位数字与4相乘;将身份证号码的第7位数字与2相乘;将身份证号码的第8位数字与1相乘;将身份证号码的第9位数字与6相乘;将身份证号码的第10位数字与3相乘;将身份证号码的第11位数字与7相乘;将身份证号码的第12位数字与9相乘;将身份证号码的第13位数字与10相乘;将身份证号码的第14位数字与5相乘;将身份证号码的第15位数字与8相乘;将身份证号码的第16位数字与4相乘;将身份证号码的第17位数字与2相乘。

第二步:将第一步身份证号码1~17位相乘的结果求和,全部加起来。

第三步:用第二步计算出来的结果除以11,这样就会出现余数为0,余数为1,余数为2,余数为3,余数为4,余数为5,余数为6,余数为7,余数为8,余数为9,余数为10共11种可能性。

第四步:如果余数为0,那对应的最后一位身份证的号码为1;如果余数为1,那对应的最后一位身份证的号码为0;如果余数为2,那对应的最后一位身份证的号码为X;如果余数为3,那对应的最后一位身份证的号码为9;如果余数为4,那对应的最后一位身份证的号码为8;如果余数为5,那对应的最后一位身份证的号码为7;如果余数为6,那对应的最后一位身份证的号码为6;如果余数为7,那对应的最后一位身份证的号码为5;如果余数为8,那对应的最后一位身份证的号码为4;如果余数为9,那对应的最后一位身份证的号码为3;如果余数为10,那对应的最后一位身份证的号码为2。

 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
javascript两种function的定义介绍及区别说明
May 02 Javascript
文字溢出实现溢出的部分再放入一个新生成的div中具体代码
May 17 Javascript
div失去焦点事件实现思路
Apr 22 Javascript
JS实现超炫网页烟花动画效果的方法
Mar 02 Javascript
Javascript类型转换的规则实例解析
Feb 23 Javascript
jquery弹出遮掩层效果【附实例代码】
Apr 28 Javascript
Node.js批量给图片加水印的方法
Nov 15 Javascript
利用vue实现模态框组件
Dec 19 Javascript
jQuery为DOM动态追加事件的方法
Feb 16 Javascript
vue.js整合mint-ui里的轮播图实例代码
Dec 27 Javascript
Vue 组件传值几种常用方法【总结】
May 28 Javascript
jquery.tagsinput.js实现记录checkbox勾选的顺序
Sep 21 jQuery
AngularJS  双向数据绑定详解简单实例
Oct 20 #Javascript
Bootstrap模态框禁用空白处点击关闭
Oct 20 #Javascript
canvas实现手机端用来上传用户头像的代码
Oct 20 #Javascript
JS调用某段SQL语句的方法
Oct 20 #Javascript
Angularjs 设置全局变量的方法总结
Oct 20 #Javascript
seajs学习之模块的依赖加载及模块API的导出
Oct 20 #Javascript
Angular表单验证实例详解
Oct 20 #Javascript
You might like
php检查是否是ajax请求的方法
2015/04/16 PHP
利用ajax和PHP实现简单的流程管理
2017/03/23 PHP
PHP实现的二分查找算法实例分析
2017/12/19 PHP
PHP封装类似thinkphp连贯操作数据库Db类与简单应用示例
2019/05/08 PHP
JavaScript 权威指南(第四版) 读书笔记
2009/08/11 Javascript
IE6、IE7中获取Button元素的值的bug说明
2011/08/28 Javascript
jqgrid 编辑添加功能详细解析
2013/11/08 Javascript
JavaScript判断访问的来源是手机还是电脑,用的哪种浏览器
2013/12/12 Javascript
nodejs读取memcache示例分享
2014/01/02 NodeJs
Express.JS使用详解
2014/07/17 Javascript
浅谈javascript中字符串String与数组Array
2014/12/31 Javascript
JS实现在页面随时自定义背景颜色的方法
2015/02/27 Javascript
CSS图片响应式 垂直水平居中
2015/08/14 Javascript
jQuery内容折叠效果插件用法实例分析(附demo源码)
2016/04/28 Javascript
所见即所得的富文本编辑器bootstrap-wysiwyg使用方法详解
2016/05/27 Javascript
浅谈js中的延迟执行和定时执行
2016/05/31 Javascript
Google 地图API Map()构造器详解
2016/08/06 Javascript
ajax+node+request爬取网络图片的实例(宅男福利)
2017/08/28 Javascript
JavaScript格式化json和xml的方法示例
2019/01/22 Javascript
用Python实现一个简单的线程池
2015/04/07 Python
在Gnumeric下使用Python脚本操作表格的教程
2015/04/14 Python
Python基于pygame实现的font游戏字体(附源码)
2015/11/11 Python
python结合selenium获取XX省交通违章数据的实现思路及代码
2016/06/26 Python
Scrapy的简单使用教程
2017/10/24 Python
深入理解Python 关于supper 的 用法和原理
2018/02/28 Python
pandas pivot_table() 按日期分多列数据的方法
2018/11/16 Python
Pandas的Apply函数具体使用
2020/07/21 Python
python Selenium 库的使用技巧
2020/10/16 Python
DERMAdoctor官网:美国著名皮肤护理品牌
2019/07/06 全球购物
橄榄树药房:OLIVEDA
2019/09/01 全球购物
班组长安全生产职责
2013/12/16 职场文书
公司人力资源的自我评价
2014/01/02 职场文书
2014年幼儿园植树节活动方案
2014/03/02 职场文书
社团2014年植树节活动总结
2014/03/11 职场文书
服装设计师求职信
2014/06/04 职场文书
高速铁道技术专业求职信
2014/08/09 职场文书