Java检验yyyymm合法,JAVA日期格式校验正则表达式方法,yyyy年MM月,yyyy-MM-dd格式等...
今天校驗(yàn)了日期格式,故記錄下;
一、校驗(yàn)yyyy年MM月;
/**yyyy年MM月 或者 yyyy年M月**/
private static final String MONTH_REGEX = "^([1-9]\\d{3}年)(([0]{0,1}[1-9]月)|([1][0-2]月))$";
/***
* @desc 校驗(yàn)月份的格式,格式如下,yyyy年MM月或者yyyy年M月
* 如:2020年10月 或者 2020年09月 或者 2020年9月
* @author fzdepqq
* @date 2020-05-28 18:51
* @param
* @param month:校驗(yàn)的月份
* @return boolean
*/
public static boolean validMonthEffecitive(String month) throws Exception{
boolean matches = Pattern.matches(MONTH_REGEX, month);
return matches;
}
二、校驗(yàn)yyyy-MM-dd;
/**yyyy-MM-dd 或者 yyyy-M-dd**/
private static String DATE_REGEX = "^([1-9]\\d{3}-)(([0]{0,1}[1-9]-)|([1][0-2]-))(([0-3]{0,1}[0-9]))$";
/***
* @desc 校驗(yàn)日期的格式,yyyy-MM-dd,無法校驗(yàn)dd的完整性,
* 就是可能出現(xiàn) 2020-2-32,2020-1-33這樣的天數(shù),可以通過設(shè)置日期的嚴(yán)禁性來轉(zhuǎn)成日期,若報錯則日期不正確
* @author fanzhen
* @date 2020-05-28 18:50
* @param
* @param datestr:日期,格式:yyyy-MM-dd
* @return boolean
*/
public static boolean validDateEffecitive(String datestr) throws Exception{
boolean matches = Pattern.matches(DATE_REGEX, datestr);
if(!matches){
return matches;
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//設(shè)置日期格式轉(zhuǎn)的嚴(yán)謹(jǐn)性
sdf.setLenient(false);
try {
sdf.parse(datestr);
} catch (ParseException e) {
e.printStackTrace();
return false;
}
return matches;
}
總結(jié)
以上是生活随笔為你收集整理的Java检验yyyymm合法,JAVA日期格式校验正则表达式方法,yyyy年MM月,yyyy-MM-dd格式等...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python面试宝典
- 下一篇: DialogBox不显示对话框的原因分析