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实现动态菜单添加的实例代码
Jul 05 Javascript
图解JavaScript中的this关键字
May 28 Javascript
深入浅析JavaScript中的3DES
Aug 24 Javascript
BootStrap modal模态弹窗使用小结
Oct 26 Javascript
使用ionic播放轮询广告的实现方法(必看)
Apr 24 Javascript
微信小程序使用Socket的实例
Sep 19 Javascript
详解vue2.0+vue-video-player实现hls播放全过程
Mar 02 Javascript
解决vue处理axios post请求传参的问题
Mar 05 Javascript
微信小程序实现全局搜索代码高亮的示例
Mar 30 Javascript
Vue组件之高德地图地址选择功能的实例代码
Jun 21 Javascript
Vue.js获取手机系统型号、版本、浏览器类型的示例代码
May 10 Javascript
jquery实现简易验证插件封装
Sep 13 jQuery
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-MySQL教程归纳总结
2008/06/07 PHP
PHP教程 基本语法
2009/10/23 PHP
CI框架学习笔记(一) - 环境安装、基本术语和框架流程
2014/10/26 PHP
php模拟post提交数据的方法
2015/02/12 PHP
PHP中返回引用类型的方法
2015/04/03 PHP
php获取当前页面完整URL地址
2015/12/30 PHP
jquery 关于event.target使用的几点说明介绍
2013/04/26 Javascript
表单元素与非表单元素刷新区别详细解析
2013/11/06 Javascript
jQuery判断元素是否存在的可靠方法
2014/05/06 Javascript
js实现文本框选中的方法
2015/05/26 Javascript
Bootstrap每天必学之缩略图与警示窗
2015/11/29 Javascript
浅谈JS如何实现真正的对象常量
2017/06/25 Javascript
微信小程序连接服务器展示MQTT数据信息的实现
2020/07/14 Javascript
jQuery实现容器间的元素拖拽功能
2020/12/01 jQuery
[00:12]DAC SOLO赛卫冕冠军 VG.Paparazi灬展现SOLO技巧
2018/04/06 DOTA
用Python制作简单的朴素基数估计器的教程
2015/04/01 Python
Python字符串处理函数简明总结
2015/04/13 Python
Python实现微信自动好友验证,自动回复,发送群聊链接方法
2019/02/21 Python
django模板加载静态文件的方法步骤
2019/03/01 Python
Python是什么 Python的用处
2020/05/26 Python
python环境搭建和pycharm的安装配置及汉化详细教程(零基础小白版)
2020/08/19 Python
从零开始的TensorFlow+VScode开发环境搭建的步骤(图文)
2020/08/31 Python
如何将anaconda安装配置的mmdetection环境离线拷贝到另一台电脑
2020/10/15 Python
python海龟绘图之画国旗实例代码
2020/11/11 Python
毕业生个人求职的自我评价
2013/10/28 职场文书
公司周年庆典邀请函
2014/01/12 职场文书
铁路个人事迹材料
2014/01/30 职场文书
护士岗位职责
2014/02/16 职场文书
劲霸男装广告词改编版
2014/03/21 职场文书
银行爱岗敬业演讲稿
2014/05/05 职场文书
小学先进集体事迹材料
2014/05/31 职场文书
单位委托书范本(3篇)
2014/09/18 职场文书
2014年学生会部门工作总结
2014/11/07 职场文书
2014年文艺部工作总结
2014/11/17 职场文书
帮你提高开发效率的JavaScript20个技巧
2021/06/18 Javascript
Redis基本数据类型哈希Hash常用操作命令
2022/06/01 Redis