<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title> New Document </title> <meta name="Generator" content="EditPlus"> <meta name="Author" content=""> <meta name="Keywords" content=""> <meta name="Description" content=""> </head> <body> 出生日期: <input id="birthday" name="birthday" type="text" value="" onBlur="checkDate();"/> </body> <script> var DATE_FORMAT = /^[0-9]{4}-[0-1]?[0-9]{1}-[0-3]?[0-9]{1}$/; function checkDate(){ var birthday = document.getElementById("birthday").value; if(DATE_FORMAT.test(birthday)){ alert("您輸入的日期格式正確"); } else { alert("抱歉,您輸入的日期格式有誤,正確格式應為"2012-01-01"."); } } </script> </html>
jquery驗證時間
驗證時間的正則表達式集合
//日期格式yyyy
PatternsDict.date_y= /^(\d{4})$/;
//日期格式yyyy-mm
PatternsDict.date_ym= /^(\d{4})-(0\d{1}|1[0-2])$/;
//日期格式yyyy-mm-dd
PatternsDict.date_ymd= /^(\d{4})-(0\d{1}|1[0-2])-(0\d{1}|[12]\d{1}|3[01])$/;
//時間格式hh
PatternsDict.time_h=/^(0\d{1}|1\d{1}|2[0-3])$/;
//時間格式hh:mm
PatternsDict.time_hm=/^(0\d{1}|1\d{1}|2[0-3]):([0-5]\d{1})$/;
//時間格式hh:mm:ss
PatternsDict.time_hms=/^(0\d{1}|1\d{1}|2[0-3]):[0-5]\d{1}:([0-5]\d{1})$/;
格式為時間,就是說前兩位都不能少,而且不能大於23,后面的時和分不能大於59,必須寫在16:02:01而不能為16:2:1
[0-2][0-3]:[0-5][0-9]:[0-5][0-9]
用CompareValidator
operator設成DateTypeCheck
type設成Date
這里是判斷YYYY-MM-DD這種格式的,基本上把閏年和2月等的情況都考慮進去了。
^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$
下面的是加了時間驗證的
^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-)) (20|21|22|23|[0-1]?\d):[0-5]?\d:[0-5]?\d$