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 相关文章推荐
js 事件处理函数间的Event物件是否全等
Apr 08 Javascript
js中prototype用法详细介绍
Nov 14 Javascript
JavaScript实现动画打开半透明提示层的方法
Apr 21 Javascript
jquery+php随机生成红包金额数量代码分享
Aug 27 Javascript
jQuery基于ID调用指定iframe页面内的方法
Jul 06 Javascript
JavaScript 是什么意思
Sep 22 Javascript
Vue实现双向绑定的方法
Dec 22 Javascript
JS使用正则表达式验证身份证号码
Jun 23 Javascript
jQuery回调方法使用示例
Jun 26 jQuery
Scala解析Json字符串的实例详解
Oct 11 Javascript
VSCode配置react开发环境的步骤
Dec 27 Javascript
解决vue+element 键盘回车事件导致页面刷新的问题
Aug 25 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清空(删除)指定目录下的文件,不删除目录文件夹的实现代码
2014/09/04 PHP
php导出CSV抽象类实例
2014/09/24 PHP
php计算多个集合的笛卡尔积实例详解
2017/02/16 PHP
jquery api参考 visualjquery 中国线路 速度快
2007/11/30 Javascript
通过修改referer下载文件的方法
2008/05/11 Javascript
JavaScript 三种创建对象的方法
2009/10/16 Javascript
Array.prototype.slice.apply的使用方法
2010/03/17 Javascript
javascript中[]和{}对象使用介绍
2013/03/20 Javascript
javascript内置对象arguments详解
2014/03/16 Javascript
JS动态修改iframe内嵌网页地址的方法
2015/04/01 Javascript
javascript等号运算符使用详解
2015/04/16 Javascript
批量下载对路网图片并生成html的实现方法
2016/06/07 Javascript
JS实现六边形3D拖拽翻转效果的方法
2016/09/11 Javascript
详解如何在NodeJS项目中优雅的使用ES6
2017/04/22 NodeJs
javascript自定义日期比较函数用法示例
2019/07/22 Javascript
vue 根据选择条件显示指定参数的例子
2019/11/09 Javascript
[43:03]LGD vs Newbee 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
17个Python小技巧分享
2015/01/23 Python
Python函数式编程
2017/07/20 Python
python分析作业提交情况
2017/11/22 Python
python+opencv实现动态物体追踪
2018/01/09 Python
详解django中url路由配置及渲染方式
2019/02/25 Python
python实现nao机器人手臂动作控制
2019/04/29 Python
python设计tcp数据包协议类的例子
2019/07/23 Python
使用python的turtle绘画滑稽脸实例
2019/11/21 Python
Python matplotlib以日期为x轴作图代码实例
2019/11/22 Python
python 基于pygame实现俄罗斯方块
2021/03/02 Python
汽车专业人才自我鉴定范文
2013/12/29 职场文书
给导游的表扬信
2014/01/10 职场文书
四风存在的原因分析
2014/02/11 职场文书
中文专业求职信
2014/06/20 职场文书
导游词之广州陈家祠
2019/10/21 职场文书
Python中json.dumps()函数的使用解析
2021/05/17 Python
python 实现图片特效处理
2022/04/03 Python
Python+OpenCV实现图片中的圆形检测
2022/04/07 Python
vue elementUI表格控制对应列
2022/04/13 Vue.js