jQuery中校验时间格式的正则表达式小结
代码中用到了jQuery,传入的参数是jQuery选择的input对象.原理:先用正则匹配,再提取时分秒,看其是否在正常的范围内。 复制代码 代码如下: /** * 检测时间是否符合格式 * @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+正则表达式来实例 复制代码 代码如下: <!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 //日期格式yyyy-mm //日期格式yyyy-mm-dd //时间格式hh //时间格式hh:mm //时间格式hh:mm:ss 格式为时间,就是说前两位都不能少,而且不能大于23,后面的时和分不能大于59,必须写在16:02:01而不能为16:2:1 [0-2][0-3]:[0-5][0-9]:[0-5][0-9] 用CompareValidator 这里是判断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]|1d|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]|1d|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$
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |