JAVA日期驗證 正則表示式,包括潤二月
package cinda;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.regex.Pattern;
public class CheckDate {
/**
* @param args
*/
public static void main(String[] args) {
Pattern p = Pattern
.compile("^((//d{2}(([02468][048])|([13579][26]))[////////s]?((((0
"[13578])|(1[02]))[////////s]?((0?[1-9])|([1-2][0-9])|(3[01])))" +
"|(((0?[469])|(11))[////////s]?((0?[1-9])|([1-2][0-9])|(30)))|" +
"(0?2[////////s]?((0?[1-9])|([1-2][0-9])))))|(//d{2}(([02468][12" +
"35679])|([13579][01345789]))[////////s]?((((0?[13578])|(1[02]))" +
"[////////s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))" +
"[////////s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[////////s]?((0?[" +
"1-9])|(1[0-9])|(2[0-8]))))))");
//(//s(((0?[0-9])|([1-2][0-3]))//:([0-5]?[0-9])((//s)|(//:([0-5]?[0-9])))))?$
String ifxurl = "jdbc:informix-sqli://10.2.3.36:7788/phase2db:INFORMIXSERVER=dep;NEWCODESET=gbk,8859-1,819";
String ifxuser = "admis2";
String ifxpw = "admis123";
String ifxsql = "select f61qdrq,f61htbh,f61chth from d61bz";
try{
Class.forName("com.informix.jdbc.IfxDriver");//裝載資料庫驅動
}catch(Exception e){
System.out.println("Informix資料庫驅動裝載出現錯誤");
e.printStackTrace();
}
try{
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
con = DriverManager.getConnection(ifxurl,ifxuser,ifxpw);
stmt = con.createStatement();
rs = stmt.executeQuery(ifxsql);
while(rs.next()){
String s = rs.getString("f61qdrq");
String a = rs.getString("f61htbh");
String b = rs.getString("f61chth");
if(s!=null){
if(p.matcher(s.trim()).matches()==false&!s.trim().equalsIgnoreCase("")){
System.out.println(a+" "+b+" "+s);
}
}
}
stmt.close();
con.close();
}catch(Exception e){
System.out.println("Informix資料庫連接出現錯誤");
e.printStackTrace();
}
System.out.println("完畢!");
}
}