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 相关文章推荐
获取Javscript执行函数名称的方法
Dec 22 Javascript
window.addeventjs事件驱动函数集合addEvent等
Feb 19 Javascript
qTip 基于JQuery的Tooltip插件[兼容性好]
Sep 01 Javascript
JavaScript学习笔记之ES6数组方法
Mar 25 Javascript
js时间控件只显示年月
Jan 08 Javascript
jquery easyui如何实现格式化列
Jul 30 jQuery
jQuery实现的手动拖动控制进度条效果示例【测试可用】
Apr 18 jQuery
JavaScript反射与依赖注入实例详解
May 29 Javascript
js实现随机数小游戏
Jun 28 Javascript
基于vue.js实现购物车
Jan 15 Javascript
如何通过vscode运行调试javascript代码
Jul 24 Javascript
Vue+Spring Boot简单用户登录(附Demo)
Nov 12 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 array_flip() 删除重复数组元素专用函数
2010/05/16 PHP
PHP 文件系统详解
2012/09/13 PHP
php字符串按照单词进行反转的方法
2015/03/14 PHP
php输出xml属性的方法
2015/03/19 PHP
PHP使用MPDF类生成PDF的方法
2015/12/08 PHP
thinkPHP多域名情况下使用memcache方式共享session数据的实现方法
2016/07/21 PHP
实例说明js脚本语言和php脚本语言的区别
2019/04/04 PHP
Jquery数独游戏解析(一)-页面布局
2010/11/05 Javascript
jquery对ajax的支持介绍
2013/12/10 Javascript
JS触发服务器控件的单击事件(详解)
2016/08/06 Javascript
JS如何生成一个不重复的ID的函数
2016/12/25 Javascript
Angular 4依赖注入学习教程之FactoryProvider配置依赖对象(五)
2017/06/04 Javascript
详解webpack分离css单独打包
2017/06/21 Javascript
深入理解Vue-cli搭建项目后的目录结构探秘
2017/07/13 Javascript
JS中使用media实现响应式布局
2017/08/04 Javascript
vue todo-list组件发布到npm上的方法
2018/04/04 Javascript
Vue 与 Vuex 的第一次接触遇到的坑
2018/08/16 Javascript
egg.js的基本使用和调用数据库的方法示例
2019/05/18 Javascript
vue+element实现打印页面功能
2019/05/20 Javascript
Vue实现验证码功能
2019/12/03 Javascript
javascript实现贪吃蛇小游戏
2020/07/28 Javascript
nginx配置域名后的二级目录访问不同项目的配置操作
2020/11/06 Javascript
Nest.js环境变量配置与序列化详解
2021/02/21 Javascript
Python中max函数用于二维列表的实例
2018/04/03 Python
pandas 对series和dataframe进行排序的实例
2018/06/09 Python
Python简单读写Xls格式文档的方法示例
2018/08/17 Python
python3+PyQt5 数据库编程--增删改实例
2019/06/17 Python
使用python实现kNN分类算法
2019/10/16 Python
keras小技巧——获取某一个网络层的输出方式
2020/05/23 Python
Python configparser模块封装及构造配置文件
2020/08/07 Python
全球最大的中文旅行网站:去哪儿网
2017/11/16 全球购物
Zatchels官网:英国剑桥包品牌
2021/01/12 全球购物
毕业生自我鉴定实例
2014/01/21 职场文书
文明好少年事迹材料
2014/08/19 职场文书
房屋买卖定金协议书
2016/03/21 职场文书
MySQL安装失败的原因及解决步骤
2022/06/14 MySQL