中国居民身份证号码校验算法
/*** 中国居民身份证校验码算法* @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));
中国居民身份证号码校验算法相关推荐
- 中国公民身份证号码校验
中国公民身份证号码校验 上图可看出18位位身份证每一部分表示的意义. 图为随机生成身份号码,四川省 乐山市 井研县 1981年12月28日生 这里主要讲解最后一位校验码的验证 校验码主要是由前面17位 ...
- [程序设计]前端Web页面使用原生JavaScript实现校验身份证号码在算法层面是否合法
中国大陆居民身份证号码第18位为校验码,用来验证本体码的准确性. 校验码采用ISO 7064:1983,MOD 11-2校验码系统. 因此可以对身份证号码第18位进行校验,来验证身份证号码在算法层面是 ...
- Java:15位或18位居民身份证号码通用校验(正则表达式、日期格式、末尾校验码)
身份证号码校验,正则表达式校验.日期格式校验.18位身份证末尾校验码校验 前六位省市县号码变更频繁,这里就不做校验 import java.text.ParseException; import ja ...
- 【转载】 身份证号码校验(15位和18位都可以)
转载自: 开源中国社区 面向对象的15位.18位中国大陆身份证号码解析.验证工具 import java.text.ParseException; import java.text.Simple ...
- 使用Java编写Hive的UDF实现身份证号码校验及15位升级18位
使用Java编写Hive的UDF实现身份证号码校验及15位升级18位 背景 在数仓项目中,有时候会根据身份证信息做一些取数filter或者条件判断的相关运算进而获取到所需的信息.古人是用Oracle做 ...
- 基于可视化结构的身份证号码校验系统-树莓派实现
基于可视化结构的身份证号码校验系统 摘要: 本作品是一个通用的身份证号码校验系统,目前已经尝试在Linux和Windows系统下运行,结果均可达到理想效果.系统通过运用基础GUI库tkinter创建系 ...
- Js实现中国公民身份证号码有效性验证
2019独角兽企业重金招聘Python工程师标准>>> 参考: Java实现中国公民身份证号码有效性验证 Php实现中国公民身份证号码有效性验证 本文将使用JavaScript实现中 ...
- JS身份证号码校验大全史上最全号称公安局安全监测
身份证号码校验 function testid(id) {// 1 "验证通过!", 0 //校验不通过 // id为身份证号码var format = /^(([1][1-5]) ...
- JS身份证号码校验,JS根据身份证号码获取出生年月日,JS根据出生年月日获取年龄,JS根据身份证号码获取性别
目录 1.JS身份证号码校验 2.JS根据身份证号码获取出生年月日 3.JS根据出生年月日获取年龄 4.JS根据身份证号码获取性别 1.JS身份证号码校验 /*** 身份证校验** @export* ...
- validate格式校验之身份证号码校验
//校验身份证号码 function isIdCardNo(num) { var factorArr = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5 ...
最新文章
- 【加强版】js原生实现拖拽效果,这次没有用document的mousedown、mousemove、mouseup事件我们来点实际的(但是有个弊端:拖拽过程中鼠标会变成一个禁用符号,不太友好)
- 双链表(插入节点操作)
- java rmi 还有用吗_java rmi使用后的感想
- 华为云FusionInsight+永洪BI共建政企用数之道,普惠千行百业
- cf1562 C. Rings
- 人人都能掌握的Java服务端性能优化方案
- java值传递和引用传递的题目_Java 值传递和引用传递
- ASP.NET五大核心对象解析
- 大前端时代下,如何成为一名优秀的程序员?
- 微波雷达存在感应模组,智能微波感应开关,多普勒雷达原理应用
- php实例三之网站浏览量统计
- STM32CubeIDE 遇到的问题
- 利用Arcgis制作图像分割数据集
- 中型研发组织管理之--选择人
- pyqtgraph文档笔记(五)总结:几个类的理解( GraphicsView, GraphicsItem ,GraphicsObject, PlotWidget等)
- grabcut图像分割的原理简单介绍
- canal使用指南(一)
- 带你了解Google搜索引擎的竞价排名是怎样实现的?
- 为你的WSL 2编译一个最新的Linux内核吧!
- SRCNN超分辨率Pytorch实现,代码逐行讲解,附源码