2008年9月27日土曜日

Javaで、日付・妥当性の厳密チェック

Javaで入力フォームから、yyyy/MM/ddのような日付入力(例:2008/08/23)を受けたとき、それが入力形式(yyyy/MM/dd)に合致しているかを厳密に調べるメソッドisDateFormat()の作成。

public static boolean validateMask(String aValue, String aMask) {
   return GenericValidator.matchRegexp(aValue, aMask);
}

public static boolean isDateFormat(String aValue) {
//YYYY/MM/ddのチェック
if(!validateMask(aValue, "\\d{4}/\\d{2}/\\d{2}")){
   return false;
}

DateFormat format = DateFormat.getDateInstance();
// 日付/時刻解析を厳密に行うかどうかを設定する。
format.setLenient(false);
try {
   format.parse(aValue);
   return true;
} catch (Exception e) {
   return false;
}
}

0 件のコメント: