public final class IDCardUtils
extends java.lang.Object
desc : 身份证工具类
author : xuexiang
time : 2018/4/23 下午4:21
| Modifier and Type | Field and Description |
|---|---|
static int |
CHINA_ID_MAX_LENGTH
中国公民身份证号码最大长度。
|
static int |
CHINA_ID_MIN_LENGTH
中国公民身份证号码最小长度。
|
static java.lang.String[] |
cityCode
省、直辖市代码表
|
static java.util.Map<java.lang.String,java.lang.String> |
cityCodes |
static java.util.Map<java.lang.String,java.lang.Integer> |
hkFirstCode
香港身份首字母对应数字
|
static int |
MIN
最低年限
|
static int[] |
power
每位加权因子
|
static java.util.Map<java.lang.String,java.lang.Integer> |
twFirstCode
台湾身份首字母对应数字
|
static java.lang.String[] |
verifyCode
第18位校检码
|
| Modifier and Type | Method and Description |
|---|---|
static java.lang.String |
getAgeDescriptionByBirthday(java.util.Date birthday)
根据出生日期获取年龄描述信息
|
static java.lang.String |
getAgeDescriptionByBirthday(java.lang.String birthday,
java.text.DateFormat format)
根据出生日期获取年龄
|
static java.lang.String |
getAgeDescriptionByIdCard(java.lang.String idCard)
根据身份编号获取年龄描述信息
|
static java.lang.String |
getBirthByIdCard(java.lang.String idCard)
根据身份编号获取生日
|
static java.lang.Short |
getDayByIdCard(java.lang.String idCard)
根据身份编号获取生日天
|
static java.lang.String |
getGenderByIdCard(java.lang.String idCard)
根据身份编号获取性别
|
static java.lang.Short |
getMonthByIdCard(java.lang.String idCard)
根据身份编号获取生日月
|
static java.lang.String |
getProvinceByIdCard(java.lang.String idCard)
根据身份编号获取户籍省份
|
static java.lang.Short |
getYearByIdCard(java.lang.String idCard)
根据身份编号获取生日年
|
static java.lang.String |
hideIdCard(java.lang.String idCardNo)
隐藏身份证信息
|
static boolean |
validateCard(java.lang.String idCard)
验证身份证是否合法
|
static boolean |
validateHKCard(java.lang.String idCard)
验证香港身份证号码(存在Bug,部份特殊身份证无法检查)
|
static boolean |
validateTWCard(java.lang.String idCard)
验证台湾身份证号码
|
public static final int CHINA_ID_MIN_LENGTH
public static final int CHINA_ID_MAX_LENGTH
public static final java.lang.String[] cityCode
public static final int[] power
public static final java.lang.String[] verifyCode
public static final int MIN
public static java.util.Map<java.lang.String,java.lang.String> cityCodes
public static java.util.Map<java.lang.String,java.lang.Integer> twFirstCode
public static java.util.Map<java.lang.String,java.lang.Integer> hkFirstCode
public static boolean validateTWCard(java.lang.String idCard)
idCard - 身份证号码public static boolean validateHKCard(java.lang.String idCard)
身份证前2位为英文字符,如果只出现一个英文字符则表示第一位是空格,对应数字58 前2位英文字符A-Z分别对应数字10-35 最后一位校验码为0-9的数字加上字符"A","A"代表10
将身份证号码全部转换为数字,分别对应乘9-1相加的总和,整除11则证件号码有效
idCard - 身份证号码public static java.lang.String getAgeDescriptionByBirthday(java.lang.String birthday,
java.text.DateFormat format)
规则:2岁以内使用月份表示、100天以内使用天数表示、72小时以内使用小时表示;2岁以上以周岁表示,日期之差超过150岁,则返回空。
birthday - 出生日期public static java.lang.String getAgeDescriptionByBirthday(java.util.Date birthday)
规则:2岁以内使用月份表示、100天以内使用天数表示、72小时以内使用小时表示;2岁以上以周岁表示,日期之差超过150岁,则返回空。
birthday - 出生日期(yyyyMMdd)public static java.lang.String getAgeDescriptionByIdCard(java.lang.String idCard)
规则:2岁以内使用月份表示、100天以内使用天数表示、72小时以内使用小时表示;2岁以上以周岁表示,日期之差超过150岁,则返回空。
idCard - 身份编号public static java.lang.String getBirthByIdCard(java.lang.String idCard)
idCard - 身份编号public static java.lang.Short getYearByIdCard(java.lang.String idCard)
idCard - 身份编号public static java.lang.Short getMonthByIdCard(java.lang.String idCard)
idCard - 身份编号public static java.lang.Short getDayByIdCard(java.lang.String idCard)
idCard - 身份编号public static java.lang.String getGenderByIdCard(java.lang.String idCard)
idCard - 身份编号public static java.lang.String getProvinceByIdCard(java.lang.String idCard)
idCard - 身份编码public static boolean validateCard(java.lang.String idCard)
idCard - 身份证卡号public static java.lang.String hideIdCard(java.lang.String idCardNo)
idCardNo - :要隐藏的身份证信息