一、字符串是否为合法的身份证号码
/**
* 利用正则表达式检查字符串是否为合法的身份证号码
* @param idno
* @return
*/
public static String isIDNO(String idno) {
//六位地区编码 region
String region = "((1[1-5]|2[1-3]|3[1-7]|4[1-6]|5[0-4]|6[1-5]|8[1-3])\\d{4})";
//四位年份 year
String year = "((19|20)\\d{2})";
//两位月份 month
String month = "(0[1-9]|1[0-2])";
//两位日期 date
String date = "(0[1-9]|[12]\\d|3[01])";
//末尾四位编号 code
String code = "(\\d{3}([0-9xX]))";
String regex = region + year + month + date + code;
if (idno.matches(regex)){
return "证件号格式正确";
}else {
return "证件号格式错误";
}
}
二、字符串是否为合法的身份证号码加强版
/**
* 利用正则表达式检查字符串是否为合法的身份证号码
* 加强版
* @param postCode
* @return
*/
public static String isIDNOStrong(String postCode){
}
三、调用方法
public class IDVerification{
public static void main(String[] args) {
//格式校验
String icon = "110111198001011996";
String result = IDVerification.isIDNO(icon);
System.out.println(icon+result);
}
}