private static final Pattern P = Pattern.compile("^((\\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]))))))(\\s(((0?[0-9])|([1-2][0-3]))\\:([0-5]?[0-9])((\\s)|(\\:([0-5]?[0-9])))))?$");
利用正则表达式校验时,要充分利用预处理功能,将表达式定义为静态常量。
boolean matches = P.matcher(bean.getKssj()).matches();
boolean matches2 =P.matcher(bean.getJssj()).matches();
通过此种方式进行判断是否符合校验规则,返回布尔值。符合返回true。
if(matches&&matches2&&bean.getKssj().compareTo(bean.getJssj())<0){
System.out.println("验证通过");
}
利用compareTo方法对开始时间 和结束时间进行判断。结束时间应大于开始时间,则通过验证,方可执行if中方法