wuhuang 2013-06-27
public class IDCardUtil { public static boolean isValidIdCard(String idCard) { if (idCard == null) { return false; } Pattern p = Pattern.compile("(\\d{17}[0-9a-zA-Z]|\\d{14}[0-9a-zA-Z])"); return p.matcher(idCard).matches(); } public static String getBirthday(String idCard) { if (idCard == null) { return null; } Pattern p1 = Pattern.compile("\\d{6}(\\d{8}).*"); // 用于提取出生日字符串 Pattern p2 = Pattern.compile("(\\d{4})(\\d{2})(\\d{2})");// 用于将生日字符串进行分解为年月日 Matcher matcher = p1.matcher(idCard); if (matcher.find()) { String birthday = matcher.group(1); Matcher matcher2 = p2.matcher(birthday); if (matcher2.find()) { StringBuilder sb = new StringBuilder(); sb.append(matcher2.group(1)); sb.append('-'); sb.append(matcher2.group(2)); sb.append('-'); sb.append(matcher2.group(3)); return sb.toString(); } } return null; } }