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 相关文章推荐
基于jquery的复制网页内容到WORD的实现代码
Feb 16 Javascript
js中通过split函数分割字符串成数组小例子
Sep 21 Javascript
JS画线(实例代码)
Nov 20 Javascript
jquery跨域请求示例分享(jquery发送ajax请求)
Mar 25 Javascript
让html页面不缓存js的实现方法
Oct 31 Javascript
利用HTML5的画布Canvas实现刮刮卡效果
Sep 06 Javascript
jQuery过滤特殊字符及JS字符串转为数字
May 26 Javascript
Vue学习之路之登录注册实例代码
Jul 06 Javascript
Vue底层实现原理总结
Feb 17 Javascript
jQuery 获取除某指定对象外的其他对象 ( :not() 与.not())
Oct 10 jQuery
React生命周期原理与用法踩坑笔记
Apr 28 Javascript
element-ui和vue表单(对话框)验证提示语(残留)清除操作
Sep 11 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
php压缩和解压缩字符串的方法
2015/03/14 PHP
php实现阿拉伯数字和罗马数字相互转换的方法
2015/04/17 PHP
PHP+Mysql+jQuery查询和列表框选择操作实例讲解
2015/10/22 PHP
PHP中的浅复制与深复制的实例详解
2017/10/26 PHP
javascript 设置文本框中焦点的位置
2009/11/20 Javascript
JavaScript 图片预览效果 推荐
2009/12/22 Javascript
ajax的hide隐藏问题解决方法
2012/12/11 Javascript
JS解析json数据并将json字符串转化为数组的实现方法
2012/12/25 Javascript
jquery插件开发之实现google+圈子选择功能
2014/03/10 Javascript
多引号嵌套的变量命名的问题
2014/05/09 Javascript
javascript制作坦克大战全纪录(1)
2014/11/27 Javascript
原生javascript实现Tab选项卡切换功能
2015/01/12 Javascript
jquery使用each方法遍历json格式数据实例
2015/05/18 Javascript
基于Jquery代码实现手风琴菜单
2015/11/19 Javascript
网站发布后Bootstrap框架引用woff字体无法正常显示的解决方法
2016/11/24 Javascript
详解vue-cli构建项目反向代理配置
2017/09/07 Javascript
JS实现的贪吃蛇游戏完整实例
2019/01/18 Javascript
基于vue、react实现倒计时效果
2019/08/26 Javascript
使用nodejs实现JSON文件自动转Excel的工具(推荐)
2020/06/24 NodeJs
解决vue页面刷新,数据丢失的问题
2020/11/24 Vue.js
python实现类的静态变量用法实例
2015/05/08 Python
python使用Apriori算法进行关联性解析
2017/12/21 Python
pandas数据分组和聚合操作方法
2018/04/11 Python
详解Python下ftp上传文件linux服务器
2018/06/21 Python
python中bytes和str类型的区别
2019/10/21 Python
用Python去除图像的黑色或白色背景实例
2019/12/12 Python
python代码实现TSNE降维数据可视化教程
2020/02/28 Python
基于 HTML5 WebGL 实现的垃圾分类系统
2019/10/08 HTML / CSS
全面解析HTML5中的标准属性与自定义属性
2016/02/18 HTML / CSS
加拿大著名时装品牌:SOIA & KYO
2016/08/23 全球购物
华润集团网上药店:健一网
2016/09/19 全球购物
NICKIS.com荷兰:设计师儿童时装
2020/01/08 全球购物
汇智创新科技发展有限公司
2015/12/06 面试题
请解释在new与override的区别
2012/10/29 面试题
热能动力工程毕业生自荐信
2013/11/07 职场文书
行政文员实习自我鉴定范文
2014/09/14 职场文书