首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

正则表达式判断身份证跟提取生日

2013-07-01 
正则表达式判断身份证和提取生日public class IDCardUtil {public static boolean isValidIdCard(String i

正则表达式判断身份证和提取生日

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;}}



热点排行