我国大陆居民身份证Java验证
关于身份证验证这一点做到身份证的编码有效性,只有是否真实存在,就算有国家居民身份证数据库也不见的真的符合事实,毕竟一人多证,或者有人无证的基本现象是存在的。
做项目中有用到用户身份证验证,那么尽最大努力使用户输入的身份证接近事实,当然只是接近。如果要真极度达到身份证确实真是有效,使用国家居民身份证数据库或者银行卡办卡身份证证件等。
接下来用一段Java代码来实现没有数据库服务提供的时候做身份证验证的示例。
关于我国(中国)大陆居民身份证编码格式和意义参见百度百科(身份证):
http://baike.baidu.com/link?url=tu-0tuMiWOmakcmpFIDHezquZrfc75oPBKS_8g7hD7wiKYfVaV-yxow93fwbiqyE
验证身份证我们要验证那些内容呢?
以1999年7月1日生效的GB11643-1999《公民身份号码》规范为例,18为居民身份证号码。
1.验证身份证号码前6为,省市区县编码
2.验证身份证号码第7-14位,出生年月日,格式yyyyMMdd,注意(以当日为日期截至线,一个身份证的生日还没到,肯定是不中的喽)
3.验证身份证号码第15-17位,出生序列号(补充一点点,就是同一地区同天出生的孩子的编号,男孩的奇数,女孩偶数,号码从小到大排序,老年人预留号码从999往下递减)
4.验证身份证号码第18位,即校验位,1-17位通过一定的算法计算而来值对象的检验位值
验证并不复杂就是考虑周全就行了,下面是Java实现的代码,如果使用JavaScript做前端验证,可以按Java实现的方式很容易的DIY一份JavaScript的实现.
身份证验证类:
下面是省市县区编码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
我国大陆居民身份证Java验证相关推荐
- 我国大陆居民×××Java验证
关于×××验证这一点做到×××的编码有效性,只有是否真实存在,就算有国家居民×××数据库也不见的真的符合事实,毕竟一人多证,或者有人无证的基本现象是存在的. 做项目中有用到用户×××验证,那么尽最大努 ...
- 大陆居民身份证验证方法(java)
1.设置接口 @Constraint(validatedBy = ChineseIdNumberValidator.class) @Target({ElementType.METHOD,Element ...
- java验证身份证号码是否有效源代码
转载自 java验证身份证号码是否有效源代码 1.描述 用java语言判断身份证号码是否有效,地区码.出身年月.校验码等验证算法 2.源代码 package test; import java.t ...
- 【Java】身份证的验证
题目要求:输入18位的身份证号码,要求首先验证身份证号码合法性(仅利用校验位验证),如果合法则输出性别和出生日期. 说明: (1)身份证号码的7~12位表示出生年月:第17位表示性别,奇数为男,偶数为 ...
- Java 身份证号验证
二代身份证号码验证 扯淡区: 本博客主要内容是利用Java语言来验证身份证号码是否符合18位的二代身份证号规范. 公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成.排列顺序从左至右依次 ...
- Java:15位或18位居民身份证号码通用校验(正则表达式、日期格式、末尾校验码)
身份证号码校验,正则表达式校验.日期格式校验.18位身份证末尾校验码校验 前六位省市县号码变更频繁,这里就不做校验 import java.text.ParseException; import ja ...
- 新旧身份证合法性验证及相互转换算法(三):Java身份证号码验证及将15位转换18位
package test; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * 身份证号码验证 * */ pub ...
- 18位身份证验证(Java)加入身份证输入验证是否满足18位代码(修订稿)
package day20181016; /** * 身份证的验证 34052419800101001X * */ import java.util.Scanner; public class Zuo ...
- java验证公民身份证真实性
通过一定的算法规则校验身份证的真实性,不多说,上代码: package examples.cardId; import java.util.Scanner; /** * 公民身份号码是特征组合码,由 ...
最新文章
- 分别用递归和非递归方式实现二叉树先序、中序和后序遍历(java实现)
- ios 旋转加载gif_加载GIF动画方法 iOS
- Android 性能优化 之谈谈Java内存区域
- Spring Boot 使用Redis
- dexpler的使用方法
- java输入输出高速
- 【递归】n个数的全排列
- 现在好多打工的都说月薪有八九千甚至过万,真有那么高工资吗?
- .net core webapi 导出excel(两种方式EPPLUS、NPOI),返回下载地址或文件流
- CarMaker快速入门
- 软考之项目网络图(活动图)
- [Linux]正则表达式和grep使用
- 什么是BSIC及其在GSM系统中的应用
- java 输出空心正方形_怎么用java数组打印一个正方形中间空着的
- 【 Ubuntu 】clang 编译器
- cacai安装与配置
- Appinum:在使用安卓模拟器定位页面元素时启动uiautomatorviewer.bat ,但是报错: Error while obtaining UI hierarchy XML file: c
- 微博URL短地址lua生成算法
- unittest自动化测试-requests库实现http请求与requests库离线安装
- 一体化Mbus物联网主机上线问题总结