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 相关文章推荐
jQuery EasyUI中对表格进行编辑的实现代码
Jun 10 Javascript
JavaScript伸缩的菜单简单示例
Dec 03 Javascript
js判断客户端是iOS还是Android等移动终端的方法
Dec 11 Javascript
JavaScript中双叹号!!作用示例介绍
Sep 21 Javascript
jquery实现点击其他区域时隐藏下拉div和遮罩层的方法
Dec 23 Javascript
Javascript基于对象三大特性(封装性、继承性、多态性)
Jan 04 Javascript
js实现input密码框提示信息的方法(附html5实现方法)
Jan 14 Javascript
解决js函数闭包内存泄露问题的办法
Jan 25 Javascript
一些实用性较高的js方法
Apr 19 Javascript
第十章之巨幕页头缩略图与警告框组件
Apr 25 Javascript
jQuery操作选中select下拉框的值代码实例
Feb 07 jQuery
VUE异步更新DOM - 用$nextTick解决DOM视图的问题
Nov 06 Javascript
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制作静态网站的模板框架(二)
2006/10/09 PHP
php自动注册登录验证机制实现代码
2011/12/20 PHP
分享3个php获取日历的函数
2015/09/25 PHP
Laravel日志用法详解
2016/10/09 PHP
PHP微商城开源代码实例
2019/03/27 PHP
写出更好的JavaScript之undefined篇(上)
2009/11/22 Javascript
EXTJS内使用ACTIVEX控件引起崩溃问题的解决方法
2010/03/31 Javascript
jQuery实现类似淘宝购物车全选状态示例
2013/06/26 Javascript
基于zepto.js实现仿手机QQ空间的大图查看组件ImageView.js详解
2015/03/05 Javascript
javaScript中with函数用法实例分析
2015/06/08 Javascript
jQuery中ztree 点击文本框弹出下拉框的实例代码
2017/02/05 Javascript
JavaScript运行原理分析
2018/02/09 Javascript
babel7.x和webpack4.x配置vue项目的方法步骤
2019/05/12 Javascript
基于javascript处理nginx请求过程详解
2020/07/07 Javascript
javascript的hashCode函数实现代码小结
2020/08/11 Javascript
Python变量赋值的秘密分享
2018/04/03 Python
Python读写及备份oracle数据库操作示例
2018/05/17 Python
Python numpy中矩阵的基本用法汇总
2019/02/12 Python
Python提取支付宝和微信支付二维码的示例代码
2019/02/15 Python
python实现广度优先搜索过程解析
2019/10/19 Python
python 中不同包 类 方法 之间的调用详解
2020/03/09 Python
Python优秀开源项目Rich源码解析的流程分析
2020/07/06 Python
Python用SSH连接到网络设备
2021/02/18 Python
CSS3实现粒子旋转伸缩加载动画
2016/04/22 HTML / CSS
解释一下钝化(Swap out)
2016/12/26 面试题
护理助产毕业生的求职信
2014/03/02 职场文书
新年晚会主持词
2014/03/24 职场文书
运动会班级口号
2014/06/09 职场文书
上班迟到检讨书
2014/09/15 职场文书
领导干部四风问题自我剖析材料
2014/09/25 职场文书
个人查摆问题自查报告
2014/10/16 职场文书
租赁协议书
2015/01/27 职场文书
客房部经理岗位职责
2015/02/02 职场文书
外贸业务员岗位职责
2015/02/13 职场文书
vue+elementui 实现新增和修改共用一个弹框的完整代码
2021/06/08 Vue.js
HTML实现仿Windows桌面主题特效的实现
2022/06/28 HTML / CSS