日付チェック
これも良くありがちですね。YYYYMMDD形式以外はfalseです。
/**********************************************************************************************/ /** 日付チェック
** 文字列(YYYYMMDD)が日付として有効かチェックする。 ** @param String 入力文字列 YYYYMMDD ** @return boolean 有効 true 無効 false **/ public boolean DateChk(String myDate) { //入力文字列が8桁以外の場合エラー if (myDate.length() != 8) {return false;} for (int i=0;i < myDate.length();i++) { char charData = myDate.charAt(i); if ((charData < '0') || (charData > '9')) { return false; } } int intYear; int intMonth; int intDay; if (myDate.length() > 3) { intYear = java.lang.Integer.parseInt(myDate.substring(0,4));} else { intYear = 0;} if (myDate.length() > 5) { intMonth = java.lang.Integer.parseInt(myDate.substring(4,6));} else { intMonth = 0;} if (myDate.length() == 8) { intDay = java.lang.Integer.parseInt(myDate.substring(6,8));} else { intDay = 0;} Calendar cal = new GregorianCalendar(); cal.setLenient( false ); cal.set( intYear , intMonth-1 , intDay ); try { java.util.Date ud = cal.getTime(); } catch (IllegalArgumentException iae) { return false; } return true; } /**********************************************************************************************/