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数字数组去重复项的实现代码
Dec 30 Javascript
Jquery公告滚动+AJAX后台得到数据
Apr 14 Javascript
表单JS弹出填写提示效果代码
Apr 16 Javascript
JS定时器实例详细分析
Oct 11 Javascript
用IE重起计算机或者关机的示例代码
Mar 10 Javascript
基于js实现微信发送好友如何分享到朋友圈、微博
Nov 30 Javascript
js仿百度登录页实现拖动窗口效果
Mar 11 Javascript
js鼠标单击和双击事件冲突问题的快速解决方法
Jul 11 Javascript
微信小程序中页面FOR循环和嵌套循环
Jun 21 Javascript
vue-cli脚手架搭建的项目去除eslint验证的方法
Sep 29 Javascript
js实现GIF图片的分解和合成
Oct 24 Javascript
javascript数组元素删除方法delete和splice解析
Dec 09 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代码把全角数字转为半角数字
2007/12/10 PHP
PHP 杂谈《重构-改善既有代码的设计》之五 简化函数调用
2012/05/07 PHP
laravel安装和配置教程
2014/10/29 PHP
PHP+Mysql+jQuery查询和列表框选择操作实例讲解
2015/10/22 PHP
PHP设计模式之适配器模式(Adapter)原理与用法详解
2019/12/12 PHP
23个超流行的jQuery相册插件整理分享
2011/04/25 Javascript
jquery触发a标签跳转事件示例代码
2013/07/21 Javascript
ajax请求get与post的区别总结
2013/11/04 Javascript
JS中window.open全屏命令解析及使用示例
2013/12/11 Javascript
使用js判断TextBox控件值改变然后出发事件
2014/03/07 Javascript
table insertRow、deleteRow定义和用法总结
2014/05/14 Javascript
JS实现表格数据各种搜索功能的方法
2015/03/03 Javascript
JS实现自动变换的菜单效果代码
2015/09/09 Javascript
利用Angularjs中模块ui-route管理状态的方法
2016/12/27 Javascript
QRCode.js:基于JQuery的生成二维码JS库的使用
2017/06/23 jQuery
详解Angular CLI + Electron 开发环境搭建
2017/07/20 Javascript
Vue父组件调用子组件事件方法
2018/02/23 Javascript
React 组件中的 bind(this)示例代码
2018/09/16 Javascript
Vue.js 中的 v-model 指令及绑定表单元素的方法
2018/12/03 Javascript
基于JavaScript实现留言板功能
2020/03/16 Javascript
python操作ssh实现服务器日志下载的方法
2015/06/03 Python
Python实现定时任务
2017/02/08 Python
python使用arcpy.mapping模块批量出图
2017/03/06 Python
python 信息同时输出到控制台与文件的实例讲解
2018/05/11 Python
python调用pyaudio使用麦克风录制wav声音文件的教程
2019/06/26 Python
使用Python制作一个打字训练小工具
2019/10/01 Python
python获取网络图片方法及整理过程详解
2019/12/20 Python
美国南部最大的家族百货公司:Belk
2017/01/30 全球购物
Homestay中文官网:全球寄宿家庭
2018/10/18 全球购物
读书活动总结范文
2014/04/26 职场文书
团队激励口号
2014/06/06 职场文书
学校关爱留守儿童活动方案
2014/08/27 职场文书
2014单位领导班子四风对照检查材料思想汇报
2014/09/25 职场文书
党员民主生活会整改措施
2014/09/26 职场文书
期末复习计划
2015/01/19 职场文书
笔记本自带的win11如何跳过联网激活?
2022/04/20 数码科技