代码中用到了jQuery,传入的参数是jQuery选择的input对象.原理:先用正则匹配,再提取时分秒,看其是否在正常的范围内。
例2
直接使用js+正则表达式来实例
验证时间的正则表达式集合
//日期格式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$
【aspx页面内:<%# DataBinder.Eval(Container.DataItem,\"Company_Ureg_Date\")%>
显示为: 2004-8-11 19:44:28
我只想要:2004-8-11 】
<%# DataBinder.Eval(Container.DataItem,\"Company_Ureg_Date\",\"{0:yyyy-M-d}\")%>
应该如何改?
【格式化日期】
取出来,一般是object
((DateTime)objectFromDB).ToString(\"yyyy-MM-dd\");
A.以下正确的输入格式: [2004-2-29], [2004-02-29 10:29:39 pm], [2004/12/31]
^((\\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][1235679])|([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?[1-9])|(1[0-2]))\\:([0-5][0-9])((\\s)|(\\:([0-5][0-9])\\s))([AM|PM|am|pm]{2,2})))?$
B.以下正确的输入格式:[0001-12-31], [9999 09 30], [2002/03/03]
^\\d{4}[\\-\\/\\s]?((((0[13578])|(1[02]))[\\-\\/\\s]?(([0-2][0-9])|(3[01])))|(((0[469])|(11))[\\-\\/\\s]?(([0-2][0-9])|(30)))|(02[\\-\\/\\s]?[0-2][0-9]))$
本文地址:https://www.stayed.cn/item/23466
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我