类 IDCardUtils

java.lang.Object
dev.utils.common.validator.IDCardUtils

public final class IDCardUtils extends Object
detail: 居民身份证工具类
作者:
AbrahamCaiJin, Ttt
  • 字段详细资料

    • CHINA_ID_MIN_LENGTH

      public static final int CHINA_ID_MIN_LENGTH
      另请参阅:
    • CHINA_ID_MAX_LENGTH

      public static final int CHINA_ID_MAX_LENGTH
      另请参阅:
  • 方法详细资料

    • validateIdCard15

      public static boolean validateIdCard15(String idCard)
      身份证校验规则, 验证 15 位身份编码是否合法
      参数:
      idCard - 待验证身份证号码
      返回:
      true yes, false no
    • validateIdCard18

      public static boolean validateIdCard18(String idCard)
      身份证校验规则, 验证 18 位身份编码是否合法
      参数:
      idCard - 待验证身份证号码
      返回:
      true yes, false no
    • convert15CardTo18

      public static String convert15CardTo18(String idCard)
      将 15 位身份证号码转换为 18 位
      参数:
      idCard - 15 位身份编码
      返回:
      18 位身份编码
    • validateTWCard

      public static boolean validateTWCard(String idCard)
      验证台湾身份证号码
      参数:
      idCard - 身份证号码
      返回:
      true yes, false no
    • validateHKCard

      public static boolean validateHKCard(String idCard)
      验证香港身份证号码 ( 部份特殊身份证无法检查 ) 身份证前 2 位为英文字符, 如果只出现一个英文字符则表示第一位是空格, 对应数字 58 前 2 位英文字符 A-Z 分别对应数字 10-35 最后一位校验码为 0-9 的数字加上字符 "A", "A" 代表 10 将身份证号码全部转换为数字, 分别对应乘 9-1 相加的总和, 整除 11 则证件号码有效
      参数:
      idCard - 身份证号码
      返回:
      true yes, false no
    • validateIdCard10

      public static String[] validateIdCard10(String idCard)
      判断 10 位数的身份证号, 是否合法
      参数:
      idCard - 身份证号码
      返回:
      true yes, false no
    • validateCard

      public static boolean validateCard(String idCard)
      验证身份证是否合法
      参数:
      idCard - 身份证号码
      返回:
      true yes, false no
    • getAgeByIdCard

      public static int getAgeByIdCard(String idCard)
      根据身份编号获取年龄
      参数:
      idCard - 身份编号
      返回:
      年龄
    • getBirthByIdCard

      public static String getBirthByIdCard(String idCard)
      根据身份编号获取生日
      参数:
      idCard - 身份编号
      返回:
      生日 (yyyyMMdd)
    • getBirthdayByIdCard

      public static String getBirthdayByIdCard(String idCard)
      根据身份编号获取生日
      参数:
      idCard - 身份编号
      返回:
      生日 (yyyyMMdd)
    • getYearByIdCard

      public static String getYearByIdCard(String idCard)
      根据身份编号获取生日 ( 年份 )
      参数:
      idCard - 身份编号
      返回:
      生日 (yyyy)
    • getMonthByIdCard

      public static String getMonthByIdCard(String idCard)
      根据身份编号获取生日 ( 月份 )
      参数:
      idCard - 身份编号
      返回:
      生日 (MM)
    • getDateByIdCard

      public static String getDateByIdCard(String idCard)
      根据身份编号获取生日 ( 天数 )
      参数:
      idCard - 身份编号
      返回:
      生日 (dd)
    • getGenderByIdCard

      public static String getGenderByIdCard(String idCard)
      根据身份编号获取性别
      参数:
      idCard - 身份编号
      返回:
      性别 男 (M)、女 (F)、未知 (N)
    • getProvinceByIdCard

      public static String getProvinceByIdCard(String idCard)
      根据身份编号获取户籍省份
      参数:
      idCard - 身份编码
      返回:
      省级编码
    • getPowerSum

      public static int getPowerSum(int[] data)
      将身份证的每位和对应位的加权因子相乘之后, 再获取和值
      参数:
      data - byte[] 数据
      返回:
      身份证编码, 加权引子
    • getCheckCode18

      public static String getCheckCode18(int sum)
      将 POWER 和值与 11 取模获取余数进行校验码判断
      参数:
      sum - getPowerSum(int[])
      返回:
      校验位