类 SfzhUtil
java.lang.Object
cn.benma666.myutils.SfzhUtil
-
字段概要
字段 -
构造器概要
构造器 -
方法概要
修饰符和类型方法说明static Stringconver15CardTo18(String idCard) 将15位身份证号码转换为18位static int[]converCharToInt(char[] ca) 将字符数组转换成数字数组static intgetAgeByIdCard(String idCard) 根据身份编号获取年龄static StringgetBirthByIdCard(String idCard) 根据身份编号获取生日static StringgetCheckCode18(int iSum) 将power和值与11取模获得余数进行校验码判断static ShortgetDateByIdCard(String idCard) 根据身份编号获取生日天static StringgetGenderByIdCard(String idCard) 根据身份编号获取性别static ShortgetMonthByIdCard(String idCard) 根据身份编号获取生日月static intgetPowerSum(int[] iArr) 将身份证的每位和对应位的加权因子相乘之后,再得到和值static StringgetProvinceByIdCard(String idCard) 根据身份编号获取户籍省份static ShortgetYearByIdCard(String idCard) 根据身份编号获取生日年static boolean数字验证static booleanvaliDate(int iYear, int iMonth, int iDate) 验证小于当前日期 是否有效static booleanvalidateCard(String idCard) 验证身份证是否合法static booleanvalidateHKCard(String idCard) 验证香港身份证号码(存在Bug,部份特殊身份证无法检查)static String[]validateIdCard10(String idCard) 验证10位身份编码是否合法static booleanvalidateIdCard15(String idCard) 验证15位身份编码是否合法static booleanvalidateIdCard18(String idCard) 验证18位身份编码是否合法static booleanvalidateTWCard(String idCard) 验证台湾身份证号码
-
字段详细资料
-
CHINA_ID_MIN_LENGTH
public static final int CHINA_ID_MIN_LENGTH中国公民身份证号码最小长度。- 另请参阅:
-
CHINA_ID_MAX_LENGTH
public static final int CHINA_ID_MAX_LENGTH中国公民身份证号码最大长度。- 另请参阅:
-
cityCode
省、直辖市代码表 -
power
public static final int[] power每位加权因子 -
verifyCode
第18位校检码 -
MIN
public static final int MIN最低年限- 另请参阅:
-
cityCodes
-
twFirstCode
台湾身份首字母对应数字 -
hkFirstCode
香港身份首字母对应数字
-
-
构造器详细资料
-
SfzhUtil
public SfzhUtil()
-
-
方法详细资料
-
conver15CardTo18
将15位身份证号码转换为18位- 参数:
idCard- 15位身份编码- 返回:
- 18位身份编码
-
validateCard
验证身份证是否合法 -
validateIdCard18
验证18位身份编码是否合法- 参数:
idCard- 身份编码- 返回:
- 是否合法
-
validateIdCard15
验证15位身份编码是否合法- 参数:
idCard- 身份编码- 返回:
- 是否合法
-
validateIdCard10
验证10位身份编码是否合法- 参数:
idCard- 身份编码- 返回:
- 身份证信息数组
[0] - 台湾、澳门、香港 [1] - 性别(男M,女F,未知N) [2] - 是否合法(合法true,不合法false) 若不是身份证件号码则返回null
-
validateTWCard
验证台湾身份证号码- 参数:
idCard- 身份证号码- 返回:
- 验证码是否符合
-
validateHKCard
验证香港身份证号码(存在Bug,部份特殊身份证无法检查)身份证前2位为英文字符,如果只出现一个英文字符则表示第一位是空格,对应数字58 前2位英文字符A-Z分别对应数字10-35 最后一位校验码为0-9的数字加上字符"A","A"代表10
将身份证号码全部转换为数字,分别对应乘9-1相加的总和,整除11则证件号码有效
- 参数:
idCard- 身份证号码- 返回:
- 验证码是否符合
-
converCharToInt
public static int[] converCharToInt(char[] ca) 将字符数组转换成数字数组- 参数:
ca- 字符数组- 返回:
- 数字数组
-
getPowerSum
public static int getPowerSum(int[] iArr) 将身份证的每位和对应位的加权因子相乘之后,再得到和值- 参数:
iArr-- 返回:
- 身份证编码。
-
getCheckCode18
将power和值与11取模获得余数进行校验码判断- 参数:
iSum-- 返回:
- 校验位
-
getAgeByIdCard
根据身份编号获取年龄- 参数:
idCard- 身份编号- 返回:
- 年龄
-
getBirthByIdCard
根据身份编号获取生日- 参数:
idCard- 身份编号- 返回:
- 生日(yyyyMMdd)
-
getYearByIdCard
根据身份编号获取生日年- 参数:
idCard- 身份编号- 返回:
- 生日(yyyy)
-
getMonthByIdCard
根据身份编号获取生日月- 参数:
idCard- 身份编号- 返回:
- 生日(MM)
-
getDateByIdCard
根据身份编号获取生日天- 参数:
idCard- 身份编号- 返回:
- 生日(dd)
-
getGenderByIdCard
根据身份编号获取性别- 参数:
idCard- 身份编号- 返回:
- 性别
-
getProvinceByIdCard
根据身份编号获取户籍省份- 参数:
idCard- 身份编码- 返回:
- 省级编码。
-
isNum
数字验证- 参数:
val-- 返回:
- 提取的数字。
-
valiDate
public static boolean valiDate(int iYear, int iMonth, int iDate) 验证小于当前日期 是否有效- 参数:
iYear- 待验证日期(年)iMonth- 待验证日期(月 1-12)iDate- 待验证日期(日)- 返回:
- 是否有效
-