用Swing的JFormattedTextField啊DateFormat format =new SimpleDateFormat("yyyy--MMMM--dd");DateFormatter df = new DateFormatter(format);JFormattedTextField ftf1 = new JFormattedTextField(df);
RegExp("^\\d{4}-\\d{1,2}-\\d{1,2}$","g");
不明白楼主系统是哪种结构C/S or B/s ?
// 日期格式:yyyy-mm-dd public boolean isdate(String strdate) { String strseparator = "-"; // 日期分隔符 String[] strdateArray; int yy; int mm; int dd; boolean boolleapyear; strdateArray = strdate.split(strseparator); if (strdateArray.length != 3) return false; try { yy = Integer.parseInt(strdateArray[0], 10); mm = Integer.parseInt(strdateArray[1], 10); dd = Integer.parseInt(strdateArray[2], 10); } catch (Exception e) { return false; } if (mm > 12 || mm < 1) return false; if ((mm == 1 || mm == 3 || mm == 5 || mm == 7 || mm == 8 || mm == 10 || mm == 12) && (dd > 31 || dd < 1)) return false; if ((mm == 4 || mm == 6 || mm == 9 || mm == 11) && (dd > 30 || dd < 1)) return false; if (mm == 2) { if (dd < 1) return false; boolleapyear = false; if ((yy % 100) == 0) { if ((yy % 400) == 0) boolleapyear = true; } else { if ((yy % 4) == 0) boolleapyear = true; } if (boolleapyear) { if (dd > 29) return false; } else { if (dd > 28) return false; } } return true; }这段程序正则表达式相对简单,楼主可以把正则表达式的相关代码换一下
RegExp("^\\d{4}-\\d{1,2}-\\d{1,2}$","g");
// 日期格式:yyyy-mm-dd
public boolean isdate(String strdate) {
String strseparator = "-"; // 日期分隔符
String[] strdateArray;
int yy;
int mm;
int dd;
boolean boolleapyear; strdateArray = strdate.split(strseparator); if (strdateArray.length != 3)
return false; try {
yy = Integer.parseInt(strdateArray[0], 10);
mm = Integer.parseInt(strdateArray[1], 10);
dd = Integer.parseInt(strdateArray[2], 10);
} catch (Exception e) {
return false;
} if (mm > 12 || mm < 1)
return false; if ((mm == 1 || mm == 3 || mm == 5 || mm == 7 || mm == 8 || mm == 10 || mm == 12)
&& (dd > 31 || dd < 1))
return false; if ((mm == 4 || mm == 6 || mm == 9 || mm == 11) && (dd > 30 || dd < 1))
return false; if (mm == 2) {
if (dd < 1)
return false; boolleapyear = false;
if ((yy % 100) == 0) {
if ((yy % 400) == 0)
boolleapyear = true;
} else {
if ((yy % 4) == 0)
boolleapyear = true;
} if (boolleapyear) {
if (dd > 29)
return false;
} else {
if (dd > 28)
return false;
}
} return true;
}这段程序正则表达式相对简单,楼主可以把正则表达式的相关代码换一下
以上功能可以用format来做。