Java判断身份证号码是否正确

news/2024/11/23 9:45:44/

方法如下:

	public static final int IDENTITYCODE_OLD = 15; // 老身份证15位public static final int IDENTITYCODE_NEW = 18; // 新身份证18位public static int[] Wi = new int[17];/*** 判断身份证号码是否正确。* * @param code*            身份证号码。* @return 如果身份证号码正确,则返回true,否则返回false。*/public static boolean isIdentityCode(String code) {if (StringUtils.isEmpty(code)) {return false;}String birthDay = "";code = code.trim().toUpperCase();// 长度只有15和18两种情况if ((code.length() != IDENTITYCODE_OLD)&& (code.length() != IDENTITYCODE_NEW)) {return false;}// 身份证号码必须为数字(18位的新身份证最后一位可以是x)Pattern pt = Pattern.compile("(^\\d{15}$)|(\\d{17}(?:\\d|x|X)$)");Matcher mt = pt.matcher(code);if (!mt.find()) {return false;}// 验证生日if (code.length() == IDENTITYCODE_OLD) {birthDay = "19" + code.substring(6, 12);} else {birthDay = code.substring(6, 14);}if (DateUtils.dateFormatToDate(birthDay, "yyyyMMdd") == null) {return false;}// 最后一位校验码验证if (code.length() == IDENTITYCODE_NEW) {String lastNum = getCheckFlag(code.substring(0,IDENTITYCODE_NEW - 1));// check last digitif (!("" + code.charAt(IDENTITYCODE_NEW - 1)).toUpperCase().equals(lastNum)) {return false;}}return true;}

http://www.ppmy.cn/news/503043.html

相关文章

验证身份证号码,较为完整的,可以验证身份证真伪

下边的方法可以较为完整的验证身份证真伪,可到当前平台验证身份证真伪http://www.ip33.com/shenfenzheng.html checkCode(val) { var p /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/ var factor [7, 9, 10, 5, 8, 4,…

验证身份证号码是否为正确值

今天(2018-04-09)在整理正则表达时,有一个关于身份证号码的正则匹配。最简单的不动脑子的匹配方式为:^[1-9]\d{16}[\d|x]$,但是这样很容易伪造一个身份证号来骗过电脑,于是加强版的正则匹配为: …

使用JS校验身份证号

1. 中国居民身份证号码编码规则 第一、二位表示省(自治区、直辖市、特别行政区),对于地区代码。 第三、四位表示市(地级市、自治州、盟及国家直辖市所属市辖区和县的汇总码)。其中,01-20,51-70表…

身份证号处理c语言

18位身份证号码:第7、8、9、10位为出生年份(四位数),第11、第12位为出生月份,第13、14位代表出生日期,第17位代表性别,奇数为男,偶数为女。 用户输入一个合法的身份证号,请输出用户的出生年月日…

中国身份证号码验证,支持15,18位,可验证成功90%的身份证号

using System;/// <summary>/// Summary description for IDCardValid/// </summary>public class IDCardValid{public IDCardValid(){//// TODO: Add constructor logic here//}/// <summary>/// 验证身份证号码/// </summary>/// <param name&quo…

不变的是需求,变化的是解决方法和工具:探讨iPaaS与ESB的差异

在企业数字化转型过程中&#xff0c;企业需要面临日益复杂的业务和数据集成挑战。为了应对这些挑战&#xff0c;需要借助适当的解决方法和工具来实现系统间的通信和数据传输。在这方面&#xff0c;iPaaS&#xff08;Integration Platform as a Service&#xff09;和ESB&#x…

通过身份证号码能得到什么呢?

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 开发工具与关键技术&#xff1a;VS 与jquery 作者&#xff1a;梁英豪 撰写时间&#xff1a;2019年7月8日 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 通过身份证号码能得到什么呢&#xff1f; 现在是一个科技的…

PHP 验证身份证号

<?php // check class check{// $num为身份证号码&#xff0c;$checkSex&#xff1a;1为男&#xff0c;2为女&#xff0c;不输入为不验证public function checkIdentity($num,$checkSex){// 不是15位或不是18位都是无效身份证号if(strlen($num) ! 15 && strlen($n…