源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

jQuery中校验时间格式的正则表达式小结

  • 时间:2022-04-22 22:55 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:jQuery中校验时间格式的正则表达式小结
代码中用到了jQuery,传入的参数是jQuery选择的input对象.原理:先用正则匹配,再提取时分秒,看其是否在正常的范围内。
[u]复制代码[/u] 代码如下:
/**  * 检测时间是否符合格式  * @param {Object} timeTextBox  */ function checkTime(timeTextBox){     var time = timeTextBox.val();     var regTime = /^([0-2][0-9]):([0-5][0-9]):([0-5][0-9])$/;     var result = false;     if (regTime.test(time)) {         if ((parseInt(RegExp.$1) < 24) && (parseInt(RegExp.$2) < 60) && (parseInt(RegExp.$3) < 60)) {             result = true;         }     }     if (result) {         $("#errmsg").html("");     }else {         timeTextBox.attr({             value: ""         });         timeTextBox.focus();         $("#errmsg").html("时间格式错误");     }  return result; }
例2 直接使用js+正则表达式来实例
[u]复制代码[/u] 代码如下:
<!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>
[b]jquery验证时间[/b] 验证时间的正则表达式集合 //日期格式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]))$
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部