当前位置:编程学习 > JAVA >>

求个正则

求个验证日期的正则  格式  YYYY-MM-DD
最好日期合法噢 能成功插入Oracle的



实际插入日期是不是这样写的 求指导

String riqi = "200011-12";
String sql = "insert into test_date_1 values('test4',to_date(?,'YYYY-MM-DD'))";
conn = ConnDB.getConnection();
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, riqi);
--------------------编程问答-------------------- ^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$ --------------------编程问答--------------------
引用楼主 musicplatform 的回复:
Java code


String riqi = "200011-12";
String sql = "insert into test_date_1 values('test4',to_date(?,'YYYY-MM-DD'))";
co……


String riqi = "2000-11-12" --------------------编程问答--------------------
引用 2 楼 chenshui1987 的回复:
引用楼主 musicplatform 的回复:

Java code


String riqi = "200011-12";
String sql = "insert into test_date_1 values('test4',to_date(?,'YYYY-MM-DD'))";
co……


String riqi = "2000-11-12"
求个表达式啊 
String riqi = "200011-12";是可以正确插入数据库的
跟"2000-11-12"结果一样 --------------------编程问答-------------------- 我敢保证这样的正则表达式你根本无法看懂!

(?:[0-9]{1,4}(?<!^0?0?0?0))-(?:0?[1-9]|1[0-2])-(?:0?[1-9]|1[0-9]|2[0-8]|(?:(?<=-(?:0?13578]|1[02])-)(?:29|3[01]))|(?:(?<=-(?:0?[469]|11)-)(?:29|30))|(?:(?<=(?:(?:[0-9]{0,2}(?!0?0)(?:[02468]?(?<![13579])[048]|[13579][26]))|(?:(?:[02468]?[048]|[13579][26])00))-0?2-)(?:29)))
--------------------编程问答-------------------- 救救我。。。。。。。。。
引用 4 楼 bao110908 的回复:
我敢保证这样的正则表达式你根本无法看懂!

(?:[0-9]{1,4}(?<!^0?0?0?0))-(?:0?[1-9]|1[0-2])-(?:0?[1-9]|1[0-9]|2[0-8]|(?:(?<=-(?:0?13578]|1[02])-)(?:29|3[01]))|(?:(?<=-(?:0?[469]|11)-)(?:29|30))|(?:(?<=(?:(?:[0-9]{0,2}(?!……
--------------------编程问答-------------------- 可以使用format类把字符串根据“yyyy-MM-dd"格式转换成date类型,如果出错则说明格式不对 --------------------编程问答-------------------- try{
   SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
   Date date = sdf.parse(riqi);
}catch(Exception e){
   throw new Exception("日期格式不正确");
}
--------------------编程问答-------------------- (([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29) 
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,