// Format the current time. SimpleDateFormat formatter = new SimpleDateFormat ("yyyy.MM.dd G 'at' hh:mm:ss a zzz"); Date currentTime_1 = new Date(); String dateString = formatter.format(currentTime_1);
// Parse the previous string back into a Date. ParsePosition pos = new ParsePosition(0); Date currentTime_2 = formatter.parse(dateString, pos);
本办法,通过数据库校验。
http://javascript.internet.com/forms/val-date.html
我用过oro的正则表达式的包(apache的网站上有):
import org.apache.oro.text.perl.*;Perl5Util util=new Perl5Util();
String input;
String patten;
if(util.match("/patten/",input))
{
result="true";
}
那个正则匹配你自己添一下就行了!
// Format the current time.
SimpleDateFormat formatter
= new SimpleDateFormat ("yyyy.MM.dd G 'at' hh:mm:ss a zzz");
Date currentTime_1 = new Date();
String dateString = formatter.format(currentTime_1);
// Parse the previous string back into a Date.
ParsePosition pos = new ParsePosition(0);
Date currentTime_2 = formatter.parse(dateString, pos);
不过这种好像不适用于你的这种情况,是将日期型数据转换成特定的格式输出,而不是检查Text中输入的是正确的日期
你应该用: redstarstar(红星星) 的方法试试或者你可以试试下面这段代码,意见而已不一定正确::t3.addTextListener(new T1());//t3是textFiled类型
t3.addKeyListener(new T1K());、
string ts;
class T1 implements TextListener
{
public void textValueChanged(TextEvent e)
{
String ss=t3.getText();
if(ss.length()==8)
{
ts=t3.getText();
}
if(ss.length()>8)
{t3.setText(ts);}
}
}
class T1K extends KeyAdapter
{
public void keyTyped(KeyEvent e)
{
ts=t3.getText();
if((ts.length()==2)||(ts.length()==5))
{
t3.setText(ts+":");
t3.setCaretPosition(t3.getText().length());
}
if(ts.length()==8)
{ ts=t3.getText();
}
}
}
//记的把该textField按钮加入frame中或者applet中试试看
{
sdf.parse(str);
}
catch(ParseException e)
{
System.out.println("不符合指定的日期格式!");
return;
}System.out.println("日期格式正确!");
import java.text.*;public class Date extends Applet
{
public void init()
{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String str = "1234-56-78"; try
{
sdf.parse(str);
}
catch(ParseException e)
{
System.out.println("不符合指定的日期格式!");
return;
}
System.out.println("日期格式正确!");
}
}
sdf.setLenient(false);try
{
if(!sdf.format(sdf.parse(str)).equals(str))
{
System.out.println("不符合指定的日期格式!");
return;
}
}
catch(ParseException e)
{
System.out.println("不符合指定的日期格式!");
return;
}System.out.println("日期格式正确!");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
if (sdf.format(sdf.parse(tmp)).equalsIgnoreCase(tmp)) System.out.println("OK");
else System.out.println("Err");
}
catch (Exception ex) {
System.out.println("Err");
}
另外,我有某位好心人的javascript的检验代码,还比较好,需要的留下E-mail。