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 相关文章推荐
Jquery实现仿新浪微博获取文本框能输入的字数代码
Feb 22 Javascript
jQuery实现图片信息的浮动显示实例代码
Aug 28 Javascript
SinaEditor使用方法详解
Dec 28 Javascript
checkbox勾选判断代码分析
Jun 11 Javascript
javascript连续赋值问题
Jul 08 Javascript
微信小程序 实现列表项滑动显示删除按钮的功能
Apr 13 Javascript
JS+HTML5实现上传图片预览效果完整实例【测试可用】
Apr 20 Javascript
js实现图片上传预览原理分析
Jul 13 Javascript
axios携带cookie配置详解(axios+koa)
Dec 28 Javascript
vue 项目build错误异常的解决方法
Apr 22 Javascript
vue 返回上一页,页面样式错乱的解决
Nov 14 Javascript
JS实现盒子拖拽效果
Feb 06 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的HTTP请求的库Requests实现美女图片墙
2015/02/22 PHP
两种php实现图片上传的方法
2016/01/22 PHP
php实现微信原生支付(扫码支付)功能
2018/05/30 PHP
Yii框架中使用PHPExcel的方法分析
2019/07/25 PHP
如何快速的呈现我们的网页的技巧整理
2007/07/01 Javascript
一些实用的jQuery代码片段收集
2011/07/12 Javascript
下拉列表选择项的选中在不同浏览器中的兼容性问题探讨
2013/09/18 Javascript
jQuery选择器全面总结
2014/01/06 Javascript
jquery+html5烂漫爱心表白动画代码分享
2015/08/24 Javascript
关于网页中的无缝滚动的js代码
2016/06/09 Javascript
jQuery实现Select左右复制移动内容
2016/08/05 Javascript
JavaScript之class继承_动力节点Java学院整理
2017/07/03 Javascript
JS引用传递与值传递的区别与用法分析
2018/06/01 Javascript
vue实现父子组件之间的通信以及兄弟组件的通信功能示例
2019/01/29 Javascript
js中let能否完全替代IIFE
2019/06/15 Javascript
VUE项目中加载已保存的笔记实例方法
2019/09/14 Javascript
JS实现的进制转换,浮点数相加,数字判断操作示例
2019/11/09 Javascript
jQuery cookie的公共方法封装和使用示例
2020/06/01 jQuery
python实现的解析crontab配置文件代码
2014/06/30 Python
在Python程序中操作文件之isatty()方法的使用教程
2015/05/24 Python
使用Python对SQLite数据库操作
2017/04/06 Python
Python中elasticsearch插入和更新数据的实现方法
2018/04/01 Python
Django实现WebSSH操作物理机或虚拟机的方法
2019/11/06 Python
Django 解决阿里云部署同步数据库报错的问题
2020/05/14 Python
Python 创建TCP服务器的方法
2020/07/28 Python
澳洲小众品牌的集合网站:BNKR
2018/02/23 全球购物
Roxy俄罗斯官方网站:冲浪和滑雪板的一切
2020/06/20 全球购物
直接有效的自我评价
2014/01/11 职场文书
应聘销售主管的求职信
2014/04/26 职场文书
抗洪抢险事迹材料
2014/05/06 职场文书
小学教师师德师风个人整改措施
2014/09/18 职场文书
公务员政审材料
2014/12/23 职场文书
幼儿教师个人总结
2015/02/05 职场文书
2015婚礼主持词开场白
2015/05/28 职场文书
幼儿园元旦主持词
2015/07/06 职场文书
2016教师节感恩话语
2015/12/09 职场文书