public static void datecheck(String checkValue) {
String eL = "^((//d{2}(([02468][048])|([13579][26]))[////////s]?((((0?[13578])|(1[02]))[////////s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[////////s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[////////s]?((0?[1-9])|([1-2][0-9])))))|(//d{2}(([02468][1235679])|([13579][01345789]))[////////s]?((((0?[13578])|(1[02]))[////////s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[////////s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[////////s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))";
Pattern p = Pattern.compile(eL);
Matcher m = p.matcher(checkValue);
boolean b = m.matches();
if (b) {
System.out.println("ok");
} else {
System.out.println("ng");
}
}
checkValue的格式 yyyy/mm/dd or yyyy/m/d or yyyy/mm/d yyyy/m/dd