怎么用JAVA验证身份证号码有效性


这篇文章主要介绍了怎么用JAVA验证身份证号码有效性的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么用JAVA验证身份证号码有效性文章都会有所收获,下面我们一起来看看吧。在通用的身份证号码有15位的和18位的;15位身份证号码各位的含义:1、1-2位省、自治区、直辖市代码;2、3-4位地级市、盟、自治州代码;3、5-6位县、县级市、区代码;4、7-12位出生年月日,比如670401代表1967年4月1日,与18位的第一个区别;5、13-15位为顺序号,其中15位男为单数,女为双数;18位身份证号码各位的含义:1、 1-2位表示省(自治区、直辖市、特别行政区)。2、 3-4位表示市(地区、自治州、盟及国家直辖市所属市辖区和县的汇总码)。其中,01-20,51-70表示省直辖市;21-50表示地区(自治州、盟)。3、 5-6位表示县(市辖区、县级市、旗)。01-18表示市辖区或地区(自治州、盟)辖县级市;21-80表示县(旗);81-99表示省直辖县级市。4、 7-14位【生日期码】表示编码对象出生的年、月、日,其中年份用四位数字表示,年、月、日之间不用分隔符。例如:1981年05月11日就用19810511表示。5、 15-17位【顺序码】表示地址码所标识的区域范围内,对同年、月、日出生的人员编定的顺序号。其中第十七位奇数分给男性,偶数分给女性。6、 18位【校验码】,作为尾号的校验码,是由号码编制单位按统一的公式计算出来的,如果某人的尾号是0-9,都不会出现X,但如果尾号是10,那么就得用X来代替,因为如果用10做尾号,那么此人的身免费云主机域名份证就变成了19位,而19位的号码违反了国家标准,并且中国的计算机应用系统也不承认19位的身份证号码。Ⅹ是罗马数字的10,用X来代替10,可以保证公民的身份证符合国家标准。1、将前面的身份证号码17位数分别乘以不同的系数。从第一位到第十七位的系数分别为:7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2。2、将这17位数字和系数相乘的结果相加。3、用加出来和除以11,看余数是多少?4、余数只可能有0-1-2-3-4-5-6-7-8-9-10这11个数字。其分别对应的最后一位身份证的号码为1-0-X -9-8-7-6-5-4-3-2。5、通过上面得知如果余数是3,就会在身份证的第18位数字上出现的是9。如果对应的数字是2,身份证的最后一位号码就是罗马数字x。例如:某男性的身份证号码为【53010219200508011x】, 我们看看这个身份证是不是合法的身份证。
首先我们得出前17位的乘积和【(57)+(39)+(010)+(15)+(08)+(24)+(12)+(91)+(26)+(03)+(07)+(59)+(010)+(85)+(08)+(14)+(1*2)】是189,然后用189除以11得出的结果是189/11=17—-2,也就是说其余数是2。最后通过对应规则就可以知道余数2对应的检验码是X。所以,可以判定这是一个正确的身份证号码。以上部分内容来自百度百科说明:以上工具中 main 方法是用于测试的,如果放入项目中,不能使用 main 方法测试,可以使用@Test 注解测试。此处用 main 方法,只是为了方便贴代码。结果:公司最近有个需求,就是边输入边校验身份证号码是否合规。以往的校验都是输完够18位就校验,做起来简单的很,头一次听说要求这样搞的,搞了我一下午。#代码利用多个正则表达式去校验字符#判断年月日校验#大小月校验#闰年闰月的校验####以下就是代码部分关于“怎么用JAVA验证身份证号码有效性”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“怎么用JAVA验证身份证号码有效性”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注百云主机行业资讯频道。

相关推荐: 如何使用MDC快速查询应用接口全部执行日志

这篇文章主要介绍“如何使用MDC快速查询应用接口全部执行日志”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何使用MDC快速查询应用接口全部执行日志”文章能帮助大家解决问题。MDC是日志门面框架SLF4J提供的一个类,…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 03/30 19:50
下一篇 03/30 19:50

相关推荐