Here you can find the source of isValidDate(String sDate)
public static boolean isValidDate(String sDate)
//package com.java2s; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Main { public static boolean isValidDate(String sDate) { String datePattern1 = "\\d{4}-\\d{2}-\\d{2}"; String datePattern2 = "^((\\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]))))))"; if ((sDate != null)) { Pattern pattern = Pattern.compile(datePattern1); Matcher match = pattern.matcher(sDate); if (match.matches()) { pattern = Pattern.compile(datePattern2); match = pattern.matcher(sDate); return match.matches(); } else { return false; }// www . j a v a2s .c om } return false; } }