开发者社区> 技术小阿哥> 正文

我国大陆居民身份证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的实现.


身份证验证类:

215600857.png

215600573.png

215601830.png

215601701.png

215601888.png

215601789.png

215601851.png

215602733.png

215602359.png

215602473.png

215602199.png

下面是省市县区编码:

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
13837 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
18805 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
25145 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
20530 0
第7课:Java Spring Boot 2.0安全机制、漏洞与MVC身份验证实战
本期分享主题:Java Spring Boot2.0实战MyBatis与优化 (Java面试题) Java Spring Boot 2.0是最新的开发平台,深入介绍Spring Boot 2.0 安全特性与原理、机制,以及如何实现 MVC网站和API身份验证,对于常见的安全问题和处理策略,以及可行的安全方案,最后是经典Java面试题。
2950 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
18708 0
阿里云服务器安全组设置内网互通的方法
虽然0.0.0.0/0使用非常方便,但是发现很多同学使用它来做内网互通,这是有安全风险的,实例有可能会在经典网络被内网IP访问到。下面介绍一下四种安全的内网互联设置方法。 购买前请先:领取阿里云幸运券,有很多优惠,可到下文中领取。
19118 0
13692
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载