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 相关文章推荐
web页面数据展示新想法(json)
Jun 08 Javascript
js+HTML5实现视频截图的方法
Jun 16 Javascript
JS模拟按钮点击功能的方法
Dec 22 Javascript
Angular2 (RC5) 路由与导航详解
Sep 21 Javascript
seajs学习教程之基础篇
Oct 20 Javascript
Bootstrap框架安装使用详解
Jan 21 Javascript
微信小程序 swiper 组件遇到的问题及解决方法
May 26 Javascript
使用express来代理服务的方法
Jun 21 Javascript
layui 点击重置按钮, select 并没有被重置的解决方法
Sep 03 Javascript
layui动态加载多表头的实例
Sep 05 Javascript
javascript中contains是否包含功能实现代码(扩展字符、数组、dom)
Apr 07 Javascript
swiper4实现移动端导航栏tab滑动切换
Oct 16 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
使用迭代器 遍历文件信息的详解
2013/06/08 PHP
php中file_get_contents与curl性能比较分析
2014/11/08 PHP
PHP封装的字符串加密解密函数
2015/12/18 PHP
PHP线程的内存回收问题
2016/07/08 PHP
PHP strripos函数用法总结
2019/02/11 PHP
yii2 在控制器中验证请求参数的使用方法
2019/06/19 PHP
一段实现页面上的图片延时加载的js代码
2010/02/11 Javascript
jQuery动态添加的元素绑定事件处理函数代码
2011/08/02 Javascript
JavaScript之Getters和Setters 平台支持等详细介绍
2012/12/07 Javascript
从JQuery源码分析JavaScript函数的apply方法与call方法
2014/09/25 Javascript
jQuery动画显示和隐藏效果实例演示(附demo源码下载)
2015/12/31 Javascript
jquery移除了live()、die(),新版事件绑定on()、off()的方法
2016/10/26 Javascript
简单谈谈ES6的六个小特性
2016/11/18 Javascript
详解VueJS 数据驱动和依赖追踪分析
2017/07/26 Javascript
web前端开发中常见的多列布局解决方案整理(一定要看)
2017/10/15 Javascript
旺旺在线客服代码 旺旺客服代码生成器
2018/01/09 Javascript
在Python中操作时间之mktime()方法的使用教程
2015/05/22 Python
Python使用Pickle库实现读写序列操作示例
2018/06/15 Python
Python3 SSH远程连接服务器的方法示例
2018/12/29 Python
基于python历史天气采集的分析
2019/02/14 Python
Django缓存系统实现过程解析
2019/08/02 Python
Python学习笔记之集合的概念和简单使用示例
2019/08/22 Python
python manage.py runserver流程解析
2019/11/08 Python
python数据分析工具之 matplotlib详解
2020/04/09 Python
Python CSS选择器爬取京东网商品信息过程解析
2020/06/01 Python
Python代码覆盖率统计工具coverage.py用法详解
2020/11/25 Python
网购亚洲时装、美容产品和生活百货:YesStyle
2016/09/15 全球购物
皮肤科医师岗位职责
2013/12/04 职场文书
师范教师毕业鉴定
2014/01/13 职场文书
党员批评与自我批评
2014/10/15 职场文书
学院党的群众路线教育实践活动第一阶段情况汇报
2014/10/25 职场文书
2014年污水处理厂工作总结
2014/12/19 职场文书
2015年推广普通话演讲稿
2015/03/20 职场文书
新郎婚礼致辞
2015/07/27 职场文书
初中同学会致辞
2015/08/01 职场文书
浅谈pytorch中的dropout的概率p
2021/05/27 Python