网站地图 | RSS订阅 老铁博客 - 上海SEO优化|上海网站建设|蜘蛛池出租|站群代搭建
你的位置:首页 » 前端脚本 » 正文

JS判断日期时间格式是否有效

2016-9-9 12:48:26 | 作者:老铁SEO | 0个评论 | 人浏览

史上最完整最精确的验证日期时间格式正则表达式:

/^\d{4}-((0?[1-9])|(1[0-2]))-((0?[1-9])|([12]\d)|(3[01])) (([01]?\d)|(2[0-3])):[0-5]\d:[0-5]\d$/

匹配合法格式为:yyyy-(m)m-(d)d (h)h:mm:ss
-:日期分隔符,减号(英文半角减号)
 :日期与时间中间的分隔符,空格(英文半角空格)
::时间分隔符,冒号(英文半角冒号)
yyyy:年份,必须4位数字
(m)m:月份,1-2位数字,如:9、09,最大只能为12,若为00、或大于12则不符合规则
(d)d:日,1-2位数字,如:9、09,最大只能为31,若为00、或大于31则不符合规则
(h)h:时,1-2位数字,如:9、09、00,最大只能为23,若大于23则不符合规则
mm:分,必须2位数字,如:09、00,最大只能为59,若大于59则不符合规则
ss:秒,必须2位数字,如:09、00,最大只能为59,若大于59则不符合规则

验证仅日期格式正则表达式:

/^\d{4}-((0?[1-9])|(1[0-2]))-((0?[1-9])|([12]\d)|(3[01]))$/

匹配合法格式为:yyyy-(m)m-(d)d

验证仅时间格式正则表达式:

/^(([01]?\d)|(2[0-3])):[0-5]\d:[0-5]\d$/

匹配合法格式为:hh:mm:ss

以下是完整实例JS代码:

<script type="text/javascript">
function checkdate(typ,id){ //判断日期时间格式自定义函数
	var obj = document.getElementById(id); //获取对象
	//设定正则式
	if(typ==0) //验证类型:日期时间
		var reg = new RegExp(/^\d{4}-((0?[1-9])|(1[0-2]))-((0?[1-9])|([12]\d)|(3[01])) (([01]?\d)|(2[0-3])):[0-5]\d:[0-5]\d$/)
	else if(typ==1) //验证类型:仅日期
		var reg = new RegExp(/^\d{4}-((0?[1-9])|(1[0-2]))-((0?[1-9])|([12]\d)|(3[01]))$/)
	else //验证类型:仅时间
		var reg = new RegExp(/^(([01]?\d)|(2[0-3])):[0-5]\d:[0-5]\d$/)
	//开始判断
	if(!reg.test(obj.value)) alert("输入的格式不合法!");
}
</script>
<p><input type="text" id="datetime" value="2016-09-09 09:09:09" />
<input type="button" value="检测日期时间格式" onClick="checkdate(0,'datetime');" /></p>
<p><input type="text" id="date" value="2016-09-09" />
<input type="button" value="检测日期格式" onClick="checkdate(1,'date');" /></p>
<p><input type="text" id="time" value="09:09:09" />
<input type="button" value="检测时间格式" onClick="checkdate(2,'time');" /></p>


  • 本文来自: 老铁博客,转载请保留出处!欢迎发表您的评论
  • 相关标签:Javascript  表单验证  字符串验证  日期时间  
  • 已有0位网友发表了一针见血的评论,你还等什么?

    必填

    选填

    记住我,下次回复时不用重新输入个人信息

    必填,不填不让过哦,嘻嘻。

    ◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。