public class SfzhUtil extends Object
| 限定符和类型 | 字段和说明 |
|---|---|
static int |
CHINA_ID_MAX_LENGTH
中国公民身份证号码最大长度。
|
static int |
CHINA_ID_MIN_LENGTH
中国公民身份证号码最小长度。
|
static String[] |
cityCode
省、直辖市代码表
|
static Map<String,String> |
cityCodes |
static Map<String,Integer> |
hkFirstCode
香港身份首字母对应数字
|
static int |
MIN
最低年限
|
static int[] |
power
每位加权因子
|
static Map<String,Integer> |
twFirstCode
台湾身份首字母对应数字
|
static String[] |
verifyCode
第18位校检码
|
| 构造器和说明 |
|---|
SfzhUtil() |
| 限定符和类型 | 方法和说明 |
|---|---|
static String |
conver15CardTo18(String idCard)
将15位身份证号码转换为18位
|
static int[] |
converCharToInt(char[] ca)
将字符数组转换成数字数组
|
static int |
getAgeByIdCard(String idCard)
根据身份编号获取年龄
|
static String |
getBirthByIdCard(String idCard)
根据身份编号获取生日
|
static String |
getCheckCode18(int iSum)
将power和值与11取模获得余数进行校验码判断
|
static Short |
getDateByIdCard(String idCard)
根据身份编号获取生日天
|
static String |
getGenderByIdCard(String idCard)
根据身份编号获取性别
|
static Short |
getMonthByIdCard(String idCard)
根据身份编号获取生日月
|
static int |
getPowerSum(int[] iArr)
将身份证的每位和对应位的加权因子相乘之后,再得到和值
|
static String |
getProvinceByIdCard(String idCard)
根据身份编号获取户籍省份
|
static Short |
getYearByIdCard(String idCard)
根据身份编号获取生日年
|
static boolean |
isNum(String val)
数字验证
|
static boolean |
valiDate(int iYear,
int iMonth,
int iDate)
验证小于当前日期 是否有效
|
static boolean |
validateCard(String idCard)
验证身份证是否合法
|
static boolean |
validateHKCard(String idCard)
验证香港身份证号码(存在Bug,部份特殊身份证无法检查)
身份证前2位为英文字符,如果只出现一个英文字符则表示第一位是空格,对应数字58 前2位英文字符A-Z分别对应数字10-35
最后一位校验码为0-9的数字加上字符"A","A"代表10
将身份证号码全部转换为数字,分别对应乘9-1相加的总和,整除11则证件号码有效
|
static String[] |
validateIdCard10(String idCard)
验证10位身份编码是否合法
|
static boolean |
validateIdCard15(String idCard)
验证15位身份编码是否合法
|
static boolean |
validateIdCard18(String idCard)
验证18位身份编码是否合法
|
static boolean |
validateTWCard(String idCard)
验证台湾身份证号码
|
public static final int CHINA_ID_MIN_LENGTH
public static final int CHINA_ID_MAX_LENGTH
public static final String[] cityCode
public static final int[] power
public static final String[] verifyCode
public static final int MIN
public static String conver15CardTo18(String idCard)
idCard - 15位身份编码public static boolean validateCard(String 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 validateHKCard(String idCard)
身份证前2位为英文字符,如果只出现一个英文字符则表示第一位是空格,对应数字58 前2位英文字符A-Z分别对应数字10-35 最后一位校验码为0-9的数字加上字符"A","A"代表10
将身份证号码全部转换为数字,分别对应乘9-1相加的总和,整除11则证件号码有效
idCard - 身份证号码public static int[] converCharToInt(char[] ca)
ca - 字符数组public static int getPowerSum(int[] iArr)
iArr - public static String getCheckCode18(int iSum)
iSum - public static int getAgeByIdCard(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 - public static boolean valiDate(int iYear,
int iMonth,
int iDate)
iYear - 待验证日期(年)iMonth - 待验证日期(月 1-12)iDate - 待验证日期(日)Copyright © 2024. All rights reserved.