public class IdcardUtil
extends java.lang.Object
| 构造器和说明 |
|---|
IdcardUtil() |
| 限定符和类型 | 方法和说明 |
|---|---|
static java.lang.String |
convert15To18(java.lang.String idCard)
将15位身份证号码转换为18位
|
static int |
getAgeByIdCard(java.lang.String idCard)
根据身份编号获取年龄,只支持15或18位身份证号码
|
static int |
getAgeByIdCard(java.lang.String idCard,
java.util.Date dateToCompare)
根据身份编号获取指定日期当时的年龄年龄,只支持15或18位身份证号码
|
static java.lang.String |
getBirth(java.lang.String idCard)
根据身份编号获取生日,只支持15或18位身份证号码
|
static java.lang.String |
getBirthByIdCard(java.lang.String idCard)
根据身份编号获取生日,只支持15或18位身份证号码
|
static DateTime |
getBirthDate(java.lang.String idCard)
从身份证号码中获取生日日期,只支持15或18位身份证号码
|
static java.lang.Short |
getDayByIdCard(java.lang.String idCard)
根据身份编号获取生日天,只支持15或18位身份证号码
|
static int |
getGenderByIdCard(java.lang.String idCard)
根据身份编号获取性别,只支持15或18位身份证号码
|
static java.lang.Short |
getMonthByIdCard(java.lang.String idCard)
根据身份编号获取生日月,只支持15或18位身份证号码
|
static java.lang.String |
getProvinceByIdCard(java.lang.String idCard)
根据身份编号获取户籍省份,只支持15或18位身份证号码
|
static java.lang.Short |
getYearByIdCard(java.lang.String idCard)
根据身份编号获取生日年,只支持15或18位身份证号码
|
static java.lang.String |
hide(java.lang.String idCard,
int startInclude,
int endExclude)
隐藏指定位置的几个身份证号数字为“*”
|
static boolean |
isValidCard(java.lang.String idCard)
是否有效身份证号
|
static java.lang.String[] |
isValidCard10(java.lang.String idCard)
验证10位身份编码是否合法
|
static boolean |
isvalidCard15(java.lang.String idCard)
验证15位身份编码是否合法
|
static boolean |
isvalidCard18(java.lang.String idCard)
判断18位身份证的合法性
根据〖中华人民共和国国家标准GB11643-1999〗中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成。
|
static boolean |
isValidHKCard(java.lang.String idCard)
验证香港身份证号码(存在Bug,部份特殊身份证无法检查)
身份证前2位为英文字符,如果只出现一个英文字符则表示第一位是空格,对应数字58 前2位英文字符A-Z分别对应数字10-35 最后一位校验码为0-9的数字加上字符"A","A"代表10
将身份证号码全部转换为数字,分别对应乘9-1相加的总和,整除11则证件号码有效
|
static boolean |
isValidTWCard(java.lang.String idCard)
验证台湾身份证号码
|
public static java.lang.String convert15To18(java.lang.String idCard)
idCard - 15位身份编码public static boolean isValidCard(java.lang.String idCard)
idCard - 身份证号,支持18位、15位和港澳台的10位public static boolean isvalidCard18(java.lang.String idCard)
判断18位身份证的合法性
根据〖中华人民共和国国家标准GB11643-1999〗中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成。顺序码: 表示在同一地址码所标识的区域范围内,对同年、同月、同 日出生的人编定的顺序号,顺序码的奇数分配给男性,偶数分配 给女性。
第十八位数字(校验码)的计算方法为:
idCard - 待验证的身份证public static boolean isvalidCard15(java.lang.String idCard)
idCard - 身份编码public static java.lang.String[] isValidCard10(java.lang.String idCard)
idCard - 身份编码[0] - 台湾、澳门、香港 [1] - 性别(男M,女F,未知N) [2] - 是否合法(合法true,不合法false) 若不是身份证件号码则返回null
public static boolean isValidTWCard(java.lang.String idCard)
idCard - 身份证号码public static boolean isValidHKCard(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 getBirthByIdCard(java.lang.String idCard)
idCard - 身份编号getBirth(String)public static java.lang.String getBirth(java.lang.String idCard)
idCard - 身份编号public static DateTime getBirthDate(java.lang.String idCard)
idCard - 身份证号码public static int getAgeByIdCard(java.lang.String idCard)
idCard - 身份编号public static int getAgeByIdCard(java.lang.String idCard,
java.util.Date dateToCompare)
idCard - 身份编号dateToCompare - 以此日期为界,计算年龄。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 int getGenderByIdCard(java.lang.String idCard)
idCard - 身份编号public static java.lang.String getProvinceByIdCard(java.lang.String idCard)
idCard - 身份编码public static java.lang.String hide(java.lang.String idCard,
int startInclude,
int endExclude)
idCard - 身份证号startInclude - 开始位置(包含)endExclude - 结束位置(不包含)StrUtil.hide(CharSequence, int, int)Copyright © 2018. All rights reserved.