public class IdCardUtils extends Object
| Modifier and Type | Field and Description |
|---|---|
static String |
FEMALE
性别:女性
|
static String |
MALE
性别:男性
|
static Pattern |
MO_CARD_PATTERN
验证澳门身份证号码正则表达式,据说这个正则表达式更严谨
|
static String |
UN_KNOW
性别:未知
|
| Constructor and Description |
|---|
IdCardUtils() |
| Modifier and Type | Method and Description |
|---|---|
static String |
convertCard15To18(String idCard)
将15位身份证号码转换为18位
|
static int[] |
convertCharToInt(char[] ca)
将字符数组转换成数字数组
|
static String |
getBirthByIdCard(String idCard)
根据身份编号获取生日
|
static Date |
getBirthDateByIdCard(String idCard)
根据身份编号获取生日
|
static String |
getCheckCode18(int iSum)
将power和值与11取模获得余数进行校验码判断
|
static com.google.common.collect.ImmutableMap<String,String> |
getCityCode()
内地省份首字母对应数字
|
static Short |
getDateByIdCard(String idCard)
根据身份编号获取生日天
|
static String |
getGenderByIdCard(String idCard)
根据身份编号获取性别
|
static com.google.common.collect.ImmutableMap<String,Integer> |
getHkFirstCode()
香港身份首字母对应数字
|
static Short |
getMonthByIdCard(String idCard)
根据身份编号获取生日月
|
static int |
getPowerSum(int[] iArr)
将身份证的每位和对应位的加权因子相乘之后,再得到和值
|
static String |
getProvinceByIdCard(String idCard)
根据身份编号获取户籍省份
|
static com.google.common.collect.ImmutableMap<String,Integer> |
getTwFirstCode()
台湾身份首字母对应数字
|
static Short |
getYearByIdCard(String idCard)
根据身份编号获取生日年
|
static boolean |
isNum(String val)
验证字符串是否为数字
|
static boolean |
validateCard(String idCard)
验证身份证是否合法
|
static boolean |
validateHKCard(String idCard)
验证香港身份证号码(存在Bug,部份特殊身份证无法检查)
|
static String[] |
validateIdCard10(String idCard)
验证10位身份编码是否合法
|
static boolean |
validateIdCard15(String idCard)
验证15位身份编码是否合法
|
static boolean |
validateIdCard18(String idCard)
验证18位身份编码是否合法
|
static boolean |
validateMOCard(String idCard)
验证澳门身份证号码 TODO 目前只验证规则,未找到校验码的算法
|
static boolean |
validateTWCard(String idCard)
验证台湾身份证号码
|
public static final Pattern MO_CARD_PATTERN
public static final String MALE
public static final String FEMALE
public static final String UN_KNOW
public static com.google.common.collect.ImmutableMap<String,String> getCityCode()
public static com.google.common.collect.ImmutableMap<String,Integer> getTwFirstCode()
public static com.google.common.collect.ImmutableMap<String,Integer> getHkFirstCode()
public static String convertCard15To18(String idCard)
idCard - 15位身份编码public static boolean validateCard(String idCard)
idCard - 身份证件号码public static boolean validateIdCard18(String idCard)
idCard - 身份编码public static boolean validateIdCard15(String idCard)
idCard - 身份编码public static String[] validateIdCard10(String idCard)
idCard - 身份编码[0] - 台湾、澳门、香港 [1] - 性别(男M,女F,未知N) [2] - 是否合法(合法true,不合法false) 若不是身份证件号码则返回null
public static boolean validateTWCard(String idCard)
idCard - 身份证号码public static boolean validateMOCard(String idCard)
idCard - 身份证号码public static boolean validateHKCard(String idCard)
身份证前2位为英文字符,如果只出现一个英文字符则表示第一位是空格,对应数字58 前2位英文字符A-Z分别对应数字10-35 最后一位校验码为0-9的数字加上字符"A","A"代表10
将身份证号码全部转换为数字,分别对应乘9-1相加的总和,整除11则证件号码有效
idCard - 身份证号码public static int[] convertCharToInt(char[] ca)
ca - 字符数组public static int getPowerSum(int[] iArr)
iArr - 数组public static String getCheckCode18(int iSum)
iSum - POWERpublic static Date getBirthDateByIdCard(String idCard)
idCard - 身份编号public static String getBirthByIdCard(String idCard)
idCard - 身份编号public static Short getYearByIdCard(String idCard)
idCard - 身份编号public static Short getMonthByIdCard(String idCard)
idCard - 身份编号public static Short getDateByIdCard(String idCard)
idCard - 身份编号public static String getGenderByIdCard(String idCard)
idCard - 身份编号public static String getProvinceByIdCard(String idCard)
idCard - 身份编码public static boolean isNum(String val)
val - 字符Copyright © 2018–2019. All rights reserved.