JavaScript 判断日期格式是否正确的实现代码


Posted in Javascript onJuly 04, 2011

转载者最起码注明作者和出处!http://www.cnblogs.com/GuominQiu

//--------------------------------------------------------------------------- 
//判断日期格式是否正确 
//返回值是错误信息, 无错误信息即表示合法日期字符串 
function isDateString(strDate){ 
var strSeparator = "-"; //日期分隔符 
var strDateArray; 
var intYear; 
var intMonth; 
var intDay; 
var boolLeapYear; 
var ErrorMsg = ""; //出错信息 
strDateArray = strDate.split(strSeparator); 
//没有判断长度,其实2008-8-8也是合理的//strDate.length != 10 || 
if(strDateArray.length != 3) { 
ErrorMsg += "日期格式必须为: yyyy-MM-dd"; 
return ErrorMsg; 
} 
intYear = parseInt(strDateArray[0],10); 
intMonth = parseInt(strDateArray[1],10); 
intDay = parseInt(strDateArray[2],10); 
if(isNaN(intYear)||isNaN(intMonth)||isNaN(intDay)) { 
ErrorMsg += "日期格式错误: 年月日必须为纯数字"; 
return ErrorMsg; 
} 
if(intMonth>12 || intMonth<1) { 
ErrorMsg += "日期格式错误: 月份必须介于1和12之间"; 
return ErrorMsg; 
} 
if((intMonth==1||intMonth==3||intMonth==5||intMonth==7 
||intMonth==8||intMonth==10||intMonth==12) 
&&(intDay>31||intDay<1)) { 
ErrorMsg += "日期格式错误: 大月的天数必须介于1到31之间"; 
return ErrorMsg; 
} 
if((intMonth==4||intMonth==6||intMonth==9||intMonth==11) 
&&(intDay>30||intDay<1)) { 
ErrorMsg += "日期格式错误: 小月的天数必须介于1到31之间"; 
return ErrorMsg; 
} 
if(intMonth==2){ 
if(intDay < 1) { 
ErrorMsg += "日期格式错误: 日期必须大于或等于1"; 
return ErrorMsg; 
} 
boolLeapYear = false; 
if((intYear%100) == 0){ 
if((intYear%400) == 0) 
boolLeapYear = true; 
} 
else{ 
if((intYear % 4) == 0) 
boolLeapYear = true; 
} 
if(boolLeapYear){ 
if(intDay > 29) { 
ErrorMsg += "日期格式错误: 闰年的2月份天数不能超过29"; 
return ErrorMsg; 
} 
} else { 
if(intDay > 28) { 
ErrorMsg += "日期格式错误: 非闰年的2月份天数不能超过28"; 
return ErrorMsg; 
} 
} 
} 
return ErrorMsg; 
}
Javascript 相关文章推荐
javascript如何操作HTML下拉列表标签
Aug 20 Javascript
基于jquery实现鼠标滚轮驱动的图片切换效果
Oct 26 Javascript
javascript下拉列表中显示树形菜单的实现方法
Nov 17 Javascript
AngularJS入门教程之ng-checked 指令详解
Aug 01 Javascript
javascript数组常用方法汇总
Sep 10 Javascript
koa socket即时通讯的示例代码
Sep 07 Javascript
JS面试题大坑之隐式类型转换实例代码
Oct 14 Javascript
通过vue手动封装on、emit、off的代码详解
May 29 Javascript
JS操作字符串转数字的常见方法示例
Oct 29 Javascript
vue子组件改变父组件传递的prop值通过sync实现数据双向绑定(DEMO)
Feb 01 Javascript
原生JS利用transform实现banner的无限滚动示例代码
Jun 15 Javascript
解决nuxt 自定义全局方法,全局属性,全局变量的问题
Nov 05 Javascript
Javascript计算时间差的函数分享
Jul 04 #Javascript
ajax 同步请求和异步请求的差异分析
Jul 04 #Javascript
Extjs EditorGridPanel中ComboBox列的显示问题
Jul 04 #Javascript
Extjs gridpanel 出现横向滚动条问题的解决方法
Jul 04 #Javascript
JS分割字符串并放入数组的函数
Jul 04 #Javascript
js列举css中所有图标的实现代码
Jul 04 #Javascript
初学js 新节点的创建 删除 的步骤
Jul 04 #Javascript
You might like
php 多线程上下文中安全写文件实现代码
2009/12/28 PHP
PHP购物车类Cart.class.php定义与用法示例
2016/07/20 PHP
php无限级分类实现方法分析
2016/10/19 PHP
ThinkPHP3.2.3框架Memcache缓存使用方法实例总结
2019/04/15 PHP
关于laravel 日志写入失败问题汇总
2019/10/17 PHP
一种JavaScript的设计模式
2006/11/22 Javascript
js 时间格式与时间戳的相互转换示例代码
2013/12/25 Javascript
JavaScript+CSS控制打印格式示例介绍
2014/01/07 Javascript
jquery禁用右键单击功能屏蔽F5刷新
2014/03/17 Javascript
node.js中的path.basename方法使用说明
2014/12/09 Javascript
Jquery实现遮罩层的方法
2015/06/08 Javascript
JS实现点击按钮控制Div变宽、增高及调整背景色的方法
2015/08/05 Javascript
jQuery实现宽屏图片轮播实例教程
2015/11/24 Javascript
Bootstrap实现下拉菜单效果
2016/04/29 Javascript
jQuery 常用代码集锦(必看篇)
2016/05/16 Javascript
ES6/JavaScript使用技巧分享
2017/12/14 Javascript
JS设计模式之状态模式概念与用法分析
2018/02/05 Javascript
解决Vue中引入swiper,在数据渲染的时候,发生不滑动的问题
2018/09/27 Javascript
代码整洁之道(重构)
2018/10/25 Javascript
[54:28]EG vs OG 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
基于Python获取照片的GPS位置信息
2020/01/20 Python
Tensorflow的梯度异步更新示例
2020/01/23 Python
Python如何使用OS模块调用cmd
2020/02/27 Python
python+playwright微软自动化工具的使用
2021/02/02 Python
英国游戏机和游戏购物网站:365games.co.uk
2018/06/18 全球购物
毕业生简单求职信
2013/11/19 职场文书
北京申奥口号
2014/06/19 职场文书
新学期标语
2014/06/30 职场文书
大学生第一学年自我鉴定
2014/09/12 职场文书
对照四风自我剖析材料
2014/10/07 职场文书
中国文明网2015年“向国旗敬礼”活动网上签名寄语
2015/09/24 职场文书
使用 Apache 反向代理的设置技巧
2022/01/18 Servers
详解pytorch创建tensor函数
2022/03/22 Python
Python Numpy库的超详细教程
2022/04/06 Python
《杜鹃的婚约》OP主题曲「凸凹」无字幕影像公开
2022/04/08 日漫
Python+SeaTable实现计算两个日期间的工作日天数
2022/07/07 Python