类 IDCardUtils
- java.lang.Object
-
- dev.utils.common.validator.IDCardUtils
-
public final class IDCardUtils extends java.lang.Objectdetail: 居民身份证工具类- 作者:
- AbrahamCaiJin, Ttt
-
-
字段概要
字段 修饰符和类型 字段 说明 static intCHINA_ID_MAX_LENGTHstatic intCHINA_ID_MIN_LENGTH
-
方法概要
所有方法 静态方法 具体方法 修饰符和类型 方法 说明 static java.lang.Stringconvert15CardTo18(java.lang.String idCard)将 15 位身份证号码转换为 18 位static intgetAgeByIdCard(java.lang.String idCard)根据身份编号获取年龄static java.lang.StringgetBirthByIdCard(java.lang.String idCard)根据身份编号获取生日static java.lang.StringgetBirthdayByIdCard(java.lang.String idCard)根据身份编号获取生日static java.lang.StringgetCheckCode18(int sum)将 POWER 和值与 11 取模获取余数进行校验码判断static java.lang.StringgetDateByIdCard(java.lang.String idCard)根据身份编号获取生日 ( 天数 )static java.lang.StringgetGenderByIdCard(java.lang.String idCard)根据身份编号获取性别static java.lang.StringgetMonthByIdCard(java.lang.String idCard)根据身份编号获取生日 ( 月份 )static intgetPowerSum(int[] data)将身份证的每位和对应位的加权因子相乘之后, 再获取和值static java.lang.StringgetProvinceByIdCard(java.lang.String idCard)根据身份编号获取户籍省份static java.lang.StringgetYearByIdCard(java.lang.String idCard)根据身份编号获取生日 ( 年份 )static booleanvalidateCard(java.lang.String idCard)验证身份证是否合法static booleanvalidateHKCard(java.lang.String idCard)验证香港身份证号码 ( 部份特殊身份证无法检查 ) 身份证前 2 位为英文字符, 如果只出现一个英文字符则表示第一位是空格, 对应数字 58 前 2 位英文字符 A-Z 分别对应数字 10-35 最后一位校验码为 0-9 的数字加上字符 "A", "A" 代表 10 将身份证号码全部转换为数字, 分别对应乘 9-1 相加的总和, 整除 11 则证件号码有效static java.lang.String[]validateIdCard10(java.lang.String idCard)判断 10 位数的身份证号, 是否合法static booleanvalidateIdCard15(java.lang.String idCard)身份证校验规则, 验证 15 位身份编码是否合法static booleanvalidateIdCard18(java.lang.String idCard)身份证校验规则, 验证 18 位身份编码是否合法static booleanvalidateTWCard(java.lang.String idCard)验证台湾身份证号码
-
-
-
方法详细资料
-
validateIdCard15
public static boolean validateIdCard15(java.lang.String idCard)
身份证校验规则, 验证 15 位身份编码是否合法- 参数:
idCard- 待验证身份证号码- 返回:
trueyes,falseno
-
validateIdCard18
public static boolean validateIdCard18(java.lang.String idCard)
身份证校验规则, 验证 18 位身份编码是否合法- 参数:
idCard- 待验证身份证号码- 返回:
trueyes,falseno
-
convert15CardTo18
public static java.lang.String convert15CardTo18(java.lang.String idCard)
将 15 位身份证号码转换为 18 位- 参数:
idCard- 15 位身份编码- 返回:
- 18 位身份编码
-
validateTWCard
public static boolean validateTWCard(java.lang.String idCard)
验证台湾身份证号码- 参数:
idCard- 身份证号码- 返回:
trueyes,falseno
-
validateHKCard
public static boolean validateHKCard(java.lang.String idCard)
验证香港身份证号码 ( 部份特殊身份证无法检查 ) 身份证前 2 位为英文字符, 如果只出现一个英文字符则表示第一位是空格, 对应数字 58 前 2 位英文字符 A-Z 分别对应数字 10-35 最后一位校验码为 0-9 的数字加上字符 "A", "A" 代表 10 将身份证号码全部转换为数字, 分别对应乘 9-1 相加的总和, 整除 11 则证件号码有效- 参数:
idCard- 身份证号码- 返回:
trueyes,falseno
-
validateIdCard10
public static java.lang.String[] validateIdCard10(java.lang.String idCard)
判断 10 位数的身份证号, 是否合法- 参数:
idCard- 身份证号码- 返回:
trueyes,falseno
-
validateCard
public static boolean validateCard(java.lang.String idCard)
验证身份证是否合法- 参数:
idCard- 身份证号码- 返回:
trueyes,falseno
-
getAgeByIdCard
public static int getAgeByIdCard(java.lang.String idCard)
根据身份编号获取年龄- 参数:
idCard- 身份编号- 返回:
- 年龄
-
getBirthByIdCard
public static java.lang.String getBirthByIdCard(java.lang.String idCard)
根据身份编号获取生日- 参数:
idCard- 身份编号- 返回:
- 生日 (yyyyMMdd)
-
getBirthdayByIdCard
public static java.lang.String getBirthdayByIdCard(java.lang.String idCard)
根据身份编号获取生日- 参数:
idCard- 身份编号- 返回:
- 生日 (yyyyMMdd)
-
getYearByIdCard
public static java.lang.String getYearByIdCard(java.lang.String idCard)
根据身份编号获取生日 ( 年份 )- 参数:
idCard- 身份编号- 返回:
- 生日 (yyyy)
-
getMonthByIdCard
public static java.lang.String getMonthByIdCard(java.lang.String idCard)
根据身份编号获取生日 ( 月份 )- 参数:
idCard- 身份编号- 返回:
- 生日 (MM)
-
getDateByIdCard
public static java.lang.String getDateByIdCard(java.lang.String idCard)
根据身份编号获取生日 ( 天数 )- 参数:
idCard- 身份编号- 返回:
- 生日 (dd)
-
getGenderByIdCard
public static java.lang.String getGenderByIdCard(java.lang.String idCard)
根据身份编号获取性别- 参数:
idCard- 身份编号- 返回:
- 性别 男 (M)、女 (F)、未知 (N)
-
getProvinceByIdCard
public static java.lang.String getProvinceByIdCard(java.lang.String idCard)
根据身份编号获取户籍省份- 参数:
idCard- 身份编码- 返回:
- 省级编码
-
getPowerSum
public static int getPowerSum(int[] data)
将身份证的每位和对应位的加权因子相乘之后, 再获取和值- 参数:
data- byte[] 数据- 返回:
- 身份证编码, 加权引子
-
getCheckCode18
public static java.lang.String getCheckCode18(int sum)
将 POWER 和值与 11 取模获取余数进行校验码判断- 参数:
sum-getPowerSum(int[])- 返回:
- 校验位
-
-