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


Posted in Javascript onSeptember 22, 2013

代码中用到了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]))$

Javascript 相关文章推荐
JavaScript中setInterval的用法总结
Nov 20 Javascript
Javascript 正则表达式实现为数字添加千位分隔符
Mar 10 Javascript
Node.js中的流(Stream)介绍
Mar 30 Javascript
使用纯javascript实现经典扫雷游戏
Apr 23 Javascript
javascript实现判断鼠标的状态
Jul 10 Javascript
javascript中offset、client、scroll的属性总结
Aug 13 Javascript
一步一步封装自己的HtmlHelper组件BootstrapHelper(二)
Sep 14 Javascript
JavaScript中如何判断一个值的类型
Sep 15 Javascript
Vue.js 实现微信公众号菜单编辑器功能(一)
May 08 Javascript
浅谈redux以及react-redux简单实现
Aug 28 Javascript
使用electron制作满屏心特效的示例代码
Nov 27 Javascript
关于uniApp editor微信滑动问题
Jan 15 Javascript
jquery中获取id值方法小结
Sep 22 #Javascript
document.getElementBy(&quot;id&quot;)与$(&quot;#id&quot;)有什么区别
Sep 22 #Javascript
浏览器页面区域大小的js获取方法
Sep 21 #Javascript
javascript dom追加内容实现示例
Sep 21 #Javascript
html+js实现动态显示本地时间
Sep 21 #Javascript
JavaScript加强之自定义event事件
Sep 21 #Javascript
JavaScript加强之自定义callback示例
Sep 21 #Javascript
You might like
中国站长站 For Dede4.0 采集规则
2007/05/27 PHP
php xml 入门学习资料
2011/01/01 PHP
PHP读取文件并可支持远程文件的代码分享
2012/10/03 PHP
PHP中使用smarty生成静态文件的例子
2014/04/24 PHP
PHP实现股票趋势图和柱形图
2015/02/07 PHP
JavaScript 字符串连接性能优化
2008/12/20 Javascript
jQuery scroll事件实现监控滚动条分页示例
2014/04/04 Javascript
JS实现跟随鼠标闪烁转动色块的方法
2015/02/26 Javascript
js实现横向百叶窗效果网页切换动画效果的方法
2015/03/02 Javascript
使用JQuery实现智能表单验证功能
2016/03/08 Javascript
详解JavaScript for循环中发送AJAX请求问题
2020/06/23 Javascript
easyui combobox开启搜索自动完成功能的实例代码
2016/11/08 Javascript
详解从Node.js的child_process模块来学习父子进程之间的通信
2017/03/27 Javascript
JavaScript同源策略和跨域访问实例详解
2018/04/03 Javascript
vue cli 3.0 使用全过程解析
2018/06/14 Javascript
vue实现条件判断动态绑定样式的方法
2018/09/29 Javascript
基于node.js实现爬虫的讲解
2019/02/18 Javascript
vue.js实现备忘录demo
2019/06/26 Javascript
JS中的const命令你真懂它吗
2020/03/08 Javascript
深入解析Python中的上下文管理器
2016/06/28 Python
Python的requests网络编程包使用教程
2016/07/11 Python
python3 requests中使用ip代理池随机生成ip的实例
2018/05/07 Python
儿童python练习实例
2018/05/27 Python
python实现根据指定字符截取对应的行的内容方法
2018/10/23 Python
Anaconda 查看、创建、管理和使用python环境的方法
2019/12/03 Python
Python3爬虫中Selenium的用法详解
2020/07/10 Python
纯CSS3实现地球自转实现代码(图文教程附送源码)
2012/12/26 HTML / CSS
html5基础教程常用技巧整理
2013/08/20 HTML / CSS
全球烹饪课程的领先预订平台:Cookly
2020/01/28 全球购物
娇韵诗俄罗斯官方网站:Clarins俄罗斯
2020/10/03 全球购物
Ado与Ado.net的相同与不同
2014/12/08 面试题
中医专业职业生涯规划书范文
2014/01/04 职场文书
2014年学生会主席工作总结
2014/11/07 职场文书
2014年党风廉政工作总结
2014/12/03 职场文书
公司承诺函范文
2015/01/21 职场文书
应届毕业生的自我评价
2019/06/21 职场文书