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 Global对象
Aug 13 Javascript
JQuery 1.4 中的Ajax问题
Jan 23 Javascript
理解Javascript_10_对象模型
Oct 16 Javascript
javascript显示用户停留时间的简单实例
Aug 05 Javascript
容易造成JavaScript内存泄露几个方面
Sep 04 Javascript
详解JavaScript对象序列化
Jan 19 Javascript
为Jquery EasyUI 组件加上清除功能的方法(详解)
Apr 13 jQuery
angular使用post、get向后台传参的问题实例
May 27 Javascript
vuex与组件联合使用的方法
May 10 Javascript
Vue.js的复用组件开发流程完整记录
Nov 29 Javascript
jQuery的ztree仿windows文件新建和拖拽功能的实现代码
Dec 05 jQuery
JS实现动态倒计时功能(天数、时、分、秒)
Dec 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
一拳超人中怪人协会钦定! S级别最强四人!
2020/03/02 日漫
PHP4在Windows2000下的安装
2006/10/09 PHP
php仿QQ验证码的实例分析
2013/07/01 PHP
浅谈PHP解析URL函数parse_url和parse_str
2014/11/11 PHP
PHP读取大文件的几种方法介绍
2016/10/27 PHP
php结合redis高并发下发帖、发微博的实现方法
2016/12/15 PHP
PHP实现微信小程序用户授权的工具类示例
2019/03/05 PHP
基于Jquery的文字滚动跑马灯插件(一个页面多个滚动区)
2010/07/26 Javascript
js自动闭合html标签(自动补全html标记)
2012/10/04 Javascript
jquery如何扑捉回车键触发的事件
2014/04/24 Javascript
js简单的弹出框有关闭按钮
2014/05/05 Javascript
ff chrome和ie下全局动态定位的异同及全局高度的取法
2014/06/30 Javascript
JavaScript实现动画打开半透明提示层的方法
2015/04/21 Javascript
javascript转换静态图片,增加粒子动画效果
2015/05/28 Javascript
jQuery实现图片与文字描述左右滑动自动切换的方法
2015/07/27 Javascript
AngularJS 中使用Swiper制作滚动图不能滑动的解决方法
2016/11/15 Javascript
JS作用域闭包、预解释和this关键字综合实例解析
2016/12/16 Javascript
js实现文字选中分享功能
2017/01/25 Javascript
React之PureComponent的使用作用
2018/07/10 Javascript
简单说说angular.json文件的使用
2018/10/29 Javascript
vue 中this.$set 动态绑定数据的案例讲解
2021/01/29 Vue.js
Python正则表达式介绍
2012/08/06 Python
python list中append()与extend()用法分享
2013/03/24 Python
Python中字典(dict)和列表(list)的排序方法实例
2014/06/16 Python
python实现读Excel写入.txt的方法
2018/04/29 Python
Python实现的插入排序,冒泡排序,快速排序,选择排序算法示例
2019/05/04 Python
Python generator生成器和yield表达式详解
2019/08/08 Python
python+adb+monkey实现Rom稳定性测试详解
2020/04/23 Python
python自定义函数def的应用详解
2020/06/03 Python
Python正则表达式高级使用方法汇总
2020/06/18 Python
Python抓包并解析json爬虫的完整实例代码
2020/11/03 Python
如何编写python的daemon程序
2021/01/07 Python
美国婴儿和儿童服装购物网站:PatPat
2020/10/01 全球购物
物流专业大学的自我评价
2014/01/11 职场文书
浅谈sql_@SelectProvider及使用注意说明
2021/08/04 Java/Android
Java 死锁解决方案
2022/05/11 Java/Android