jQuery中校验时间格式的正则表达式小结 - Web前端
作者:98wpeu发布时间:2026-07-18分类:网页前端技术浏览:3
代码中用到了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
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]))$
相关推荐
- jQuery ajax dataType值为text json探索分享 - Web前端
- $.get获取一个文件的内容示例代码 - Web前端
- jQuery实现类似滑动门切换效果的层切换 - Web前端
- Jquery中给animation加更多的运作效果实例 - Web前端
- JQuery的AJAX实现文件下载的小例子 - Web前端
- 让页面上两个div中的滚动条(滑块)同步运动示例 - Web前端
- jquery ajax同步异步的执行最终解决方案 - Web前端
- jquery插件validate验证的小例子 - Web前端
- jQuery ui插件的使用方法代码实例 - Web前端
- 用jquery实现输入框获取焦点消失文字 - Web前端
- 网页前端技术排行
-
- 1[Web前端]用javascript实现默认图片替代未显示的图片 - Web前端
- 2分析Iconfont-阿里巴巴矢量常用图标库 - Web前端
- 3【第六章】Foundation之按钮和下拉功能 - Web前端
- 4基于jquery的滚动条滚动固定div(附演示下载) - Web前端
- 5jQuery编写widget的一些技巧分享 - Web前端
- 6jQuery实例教程:制作网页中可折叠的面板 - Web前端
- 7在Mac/PC上远程调试iPhone/iPad上的网页 - Web前端
- 8分享精心挑选的12款优秀jQuery Ajax分页插件和教程 - Web前端
- 9jQuery实现鼠标移到元素上动态提示消息框效果 - Web前端
- 最近发表
-
- WordPress随机显示特色图片插件:Random Post Thumbnails
- KeePass实现Chrome浏览器自动填充密码方法一
- LNMP一键包nginx 301强制跳转到https教程
- KeePass实现Chrome浏览器自动填充密码方法二
- #建站# 免费的VPS管理软件Xshell8/Xftp8中文版下载
- 使用Xshell 8连接VPS教程_电脑登录vps的方法
- WordPress评论界面添加烟花????效果
- 不同浏览器书签同步方案:坚果云+Floccus_详细使用教程
- iOS端KeePassXC客户端APP:Strongbox Password Safe
- 给WordPress评论中的Gravatar头像图片添加ALT属性


