/*** 中国居民身份证校验码算法* @param IDNumber 身份证号码* @return 校验成功返回true,否则返回false*/public static boolean IDNumberCheck(String IDNumber) {boolean results = false;//前17位对应的系数int[] verifyCode = {7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2};//第18位校验码String[] checksum = {"1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2"};if (IDNumber.length() != 18) {return results;}//计算前17位数字int aSum = 0;for (int i = 0; i < IDNumber.length() - 1; i++) {aSum += (Integer.parseInt(IDNumber.substring(i, i + 1)) * verifyCode[i]);}//校验最后一位校验码if (IDNumber.substring(IDNumber.length() - 1).equals(checksum[aSum % 11])) {return true;}return results;}
测试代码:
String ID = "";
System.out.println(IDNumberCheck(ID));

中国居民身份证号码校验算法相关推荐

  1. 中国公民身份证号码校验

    中国公民身份证号码校验 上图可看出18位位身份证每一部分表示的意义. 图为随机生成身份号码,四川省 乐山市 井研县 1981年12月28日生 这里主要讲解最后一位校验码的验证 校验码主要是由前面17位 ...

  2. [程序设计]前端Web页面使用原生JavaScript实现校验身份证号码在算法层面是否合法

    中国大陆居民身份证号码第18位为校验码,用来验证本体码的准确性. 校验码采用ISO 7064:1983,MOD 11-2校验码系统. 因此可以对身份证号码第18位进行校验,来验证身份证号码在算法层面是 ...

  3. Java:15位或18位居民身份证号码通用校验(正则表达式、日期格式、末尾校验码)

    身份证号码校验,正则表达式校验.日期格式校验.18位身份证末尾校验码校验 前六位省市县号码变更频繁,这里就不做校验 import java.text.ParseException; import ja ...

  4. 【转载】 身份证号码校验(15位和18位都可以)

    转载自: 开源中国社区    面向对象的15位.18位中国大陆身份证号码解析.验证工具 import java.text.ParseException; import java.text.Simple ...

  5. 使用Java编写Hive的UDF实现身份证号码校验及15位升级18位

    使用Java编写Hive的UDF实现身份证号码校验及15位升级18位 背景 在数仓项目中,有时候会根据身份证信息做一些取数filter或者条件判断的相关运算进而获取到所需的信息.古人是用Oracle做 ...

  6. 基于可视化结构的身份证号码校验系统-树莓派实现

    基于可视化结构的身份证号码校验系统 摘要: 本作品是一个通用的身份证号码校验系统,目前已经尝试在Linux和Windows系统下运行,结果均可达到理想效果.系统通过运用基础GUI库tkinter创建系 ...

  7. Js实现中国公民身份证号码有效性验证

    2019独角兽企业重金招聘Python工程师标准>>> 参考: Java实现中国公民身份证号码有效性验证 Php实现中国公民身份证号码有效性验证 本文将使用JavaScript实现中 ...

  8. JS身份证号码校验大全史上最全号称公安局安全监测

    身份证号码校验 function testid(id) {// 1 "验证通过!", 0 //校验不通过 // id为身份证号码var format = /^(([1][1-5]) ...

  9. JS身份证号码校验,JS根据身份证号码获取出生年月日,JS根据出生年月日获取年龄,JS根据身份证号码获取性别

    目录 1.JS身份证号码校验 2.JS根据身份证号码获取出生年月日 3.JS根据出生年月日获取年龄 4.JS根据身份证号码获取性别 1.JS身份证号码校验 /*** 身份证校验** @export* ...

  10. validate格式校验之身份证号码校验

    //校验身份证号码 function isIdCardNo(num) {     var factorArr = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5 ...

最新文章

  1. 【加强版】js原生实现拖拽效果,这次没有用document的mousedown、mousemove、mouseup事件我们来点实际的(但是有个弊端:拖拽过程中鼠标会变成一个禁用符号,不太友好)
  2. 双链表(插入节点操作)
  3. java rmi 还有用吗_java rmi使用后的感想
  4. 华为云FusionInsight+永洪BI共建政企用数之道,普惠千行百业
  5. cf1562 C. Rings
  6. 人人都能掌握的Java服务端性能优化方案
  7. java值传递和引用传递的题目_Java 值传递和引用传递
  8. ASP.NET五大核心对象解析
  9. 大前端时代下,如何成为一名优秀的程序员?
  10. 微波雷达存在感应模组,智能微波感应开关,多普勒雷达原理应用
  11. php实例三之网站浏览量统计
  12. STM32CubeIDE 遇到的问题
  13. 利用Arcgis制作图像分割数据集
  14. 中型研发组织管理之--选择人
  15. pyqtgraph文档笔记(五)总结:几个类的理解( GraphicsView, GraphicsItem ,GraphicsObject, PlotWidget等)
  16. grabcut图像分割的原理简单介绍
  17. canal使用指南(一)
  18. 带你了解Google搜索引擎的竞价排名是怎样实现的?
  19. 为你的WSL 2编译一个最新的Linux内核吧!
  20. SRCNN超分辨率Pytorch实现,代码逐行讲解,附源码

热门文章

  1. c语言求解矩阵方程,用C语言求解N阶线性矩阵方程Ax=b的简单解法(附源码)
  2. 新版标准日本语初级_第三十九课
  3. HDU3966 树链剖分
  4. 有意思的六度分割理论
  5. c++随笔-删除文件
  6. Java-Preferences用法-入门
  7. Linux环境变量PATH
  8. 9014,9013,8050三极管引脚图与管脚识别方法
  9. ES6数组得扩展与对象的扩展
  10. php ajax jquery瀑布流,jQuery瀑布流插件——jQuery.Waterfall