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 相关文章推荐
在视频前插入广告
Nov 20 Javascript
再谈IE中Flash控件的自动激活 ObjectWrap
Mar 09 Javascript
JavaScript之appendChild、insertBefore和insertAfter使用说明
Dec 30 Javascript
那些年,我还在学习jquery 学习笔记
Mar 05 Javascript
jquery 插件学习(三)
Aug 06 Javascript
20个实用的JavaScript技巧分享
Nov 28 Javascript
javascript实现五星评价代码(源码下载)
Aug 11 Javascript
bootstrapValidator自定验证方法写法
Dec 01 Javascript
javascript删除html标签函数cIsHTML
Jan 09 Javascript
Three.js利用顶点绘制立方体的方法详解
Sep 27 Javascript
Vue实现侧边菜单栏手风琴效果实例代码
May 31 Javascript
vue实现可拖拽的dialog弹框
May 13 Vue.js
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
为什么夜间收到的中波电台比白天多
2021/03/01 无线电
php实现微信公众平台发红包功能
2018/06/14 PHP
PHP递归的三种常用方式
2019/02/28 PHP
JavaScript 在线压缩和格式化收藏
2009/01/16 Javascript
jQuery EasyUI NumberBox(数字框)的用法
2010/07/08 Javascript
javascript中创建对象的几种方法总结
2013/11/01 Javascript
Javascript前端UI框架Kit使用指南之kitjs事件管理
2014/11/28 Javascript
AngularJS HTML编译器介绍
2014/12/06 Javascript
以Python代码实例展示kNN算法的实际运用
2015/10/26 Javascript
jQuery Ajax 实例代码 ($.ajax、$.post、$.get)
2016/04/29 Javascript
详解Layer弹出层样式
2017/08/21 Javascript
js中json对象和字符串的理解及相互转化操作实现方法
2017/09/22 Javascript
vue中axios的封装问题(简易版拦截,get,post)
2018/06/15 Javascript
使用p5.js实现动态GIF图片临摹重现
2019/10/23 Javascript
[37:02]OG vs INfamous 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
python操作ie登陆土豆网的方法
2015/05/09 Python
python利用正则表达式搜索单词示例代码
2017/09/24 Python
python将字符串以utf-8格式保存在txt文件中的方法
2018/10/30 Python
在pandas多重索引multiIndex中选定指定索引的行方法
2018/11/16 Python
Python两台电脑实现TCP通信的方法示例
2019/05/06 Python
Django 请求Request的具体使用方法
2019/11/11 Python
Django框架反向解析操作详解
2019/11/28 Python
python GUI库图形界面开发之PyQt5工具栏控件QToolBar的详细使用方法与实例
2020/02/28 Python
Python第三方包之DingDingBot钉钉机器人
2020/04/09 Python
Python调用Redis的示例代码
2020/11/24 Python
html5 canvas移动浏览器上实现图片压缩上传
2016/03/11 HTML / CSS
科茨沃尔德家居商店:Scotts of Stow
2018/06/29 全球购物
全球工业:Global Industrial
2020/02/01 全球购物
个人教师自我评价范文
2013/12/02 职场文书
创业计划书中要认真思考的问题
2013/12/28 职场文书
销售会计岗位职责
2014/03/15 职场文书
小学校长个人总结
2015/03/03 职场文书
幼儿园安全工作总结2015
2015/04/20 职场文书
2015秋季开学典礼演讲稿
2015/07/16 职场文书
年终奖金发放管理制度,中小企业适用,拿去救急吧!
2019/07/12 职场文书
奥特曼十大神器:奥特手镯在榜,第一是贝利亚的神器
2022/03/18 日漫