Skip to content

IdNoUtils 身份证号工具

cn.com.digitalhainan.tools.IdNoUtils

验证身份证号

java
import cn.com.digitalhainan.tools.IdNoUtils;

// 18位身份证(合法)
boolean valid1 = IdNoUtils.isIDNumber("460200199001011234");  // true/false(根据校验位)

// 18位身份证带X(合法)
boolean valid2 = IdNoUtils.isIDNumber("46020019900101123X");  // true/false(根据校验位)

// 15位身份证
boolean valid3 = IdNoUtils.isIDNumber("460200900101123");  // true

// 非法身份证
boolean valid4 = IdNoUtils.isIDNumber("123456789012345");  // false
boolean valid5 = IdNoUtils.isIDNumber("");  // false
boolean valid6 = IdNoUtils.isIDNumber(null);  // false

提取性别

java
import cn.com.digitalhainan.tools.IdNoUtils;

// 18位身份证 - 男性(第17位奇数)
String gender1 = IdNoUtils.getGenderFromIdNo("460200199001011231");  // M

// 18位身份证 - 女性(第17位偶数)
String gender2 = IdNoUtils.getGenderFromIdNo("460200199001011232");  // F

// 15位身份证
String gender3 = IdNoUtils.getGenderFromIdNo("460200900101123");  // M/F

// 非法身份证返回null
String gender4 = IdNoUtils.getGenderFromIdNo("123");  // null

提取出生日期

java
import cn.com.digitalhainan.tools.IdNoUtils;
import java.time.LocalDate;

// 18位身份证
LocalDate birthday1 = IdNoUtils.getBirthdayFromIdNo("460200199001011234");

// 15位身份证
LocalDate birthday2 = IdNoUtils.getBirthdayFromIdNo("460200900101123");

// 非法身份证返回null
LocalDate birthday3 = IdNoUtils.getBirthdayFromIdNo("123");  // null

Power By 数字海南