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阻止scroll事件多次执行的思路及实现
Nov 08 Javascript
JS保留两位小数 四舍五入函数的小例子
Nov 20 Javascript
jQuery对Select的操作大集合(收藏)
Dec 28 Javascript
js如何判断用户是否是用微信浏览器
Jun 05 Javascript
jQuery使用removeClass方法删除元素指定Class的方法
Mar 26 Javascript
深入探讨javascript函数式编程
Oct 11 Javascript
js操作XML文件的实现方法兼容IE与FireFox
Jun 25 Javascript
基于JavaScript实现滑动门效果
Mar 16 Javascript
详解webpack分包及异步加载套路
Jun 29 Javascript
react-router4 嵌套路由的使用方法
Jul 24 Javascript
如何实现小程序tab栏下划线动画效果
May 18 Javascript
layer ui 导入文件之前传入数据的实例
Sep 23 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
基于MySQL体系结构的分析
2013/05/02 PHP
php中url函数介绍及使用示例
2014/02/13 PHP
Yii实现MySQL多数据库和读写分离实例分析
2014/12/03 PHP
PHP编写学校网站上新生注册登陆程序的实例分享
2016/03/21 PHP
PHP中STDCLASS用法实例分析
2016/11/11 PHP
捕获关闭窗口的脚本
2009/01/10 Javascript
原始XMLHttpRequest方法详情回顾
2013/11/28 Javascript
浅谈Node.js中的定时器
2015/06/18 Javascript
JS特效实现图片自动播放并可控的效果
2015/07/31 Javascript
jQuery实现带有洗牌效果的动画分页实例
2015/08/31 Javascript
jquery 获取select数组与name数组长度的实现代码
2016/06/20 Javascript
js判断手机号是否正确并返回的实现代码
2017/01/17 Javascript
微信小程序使用Socket的实例
2017/09/19 Javascript
vue中进入详情页记住滚动位置的方法(keep-alive)
2018/09/21 Javascript
判断js数据类型的函数实例详解
2019/05/23 Javascript
Python使用正则匹配实现抓图代码分享
2015/04/02 Python
在Python的Flask框架中验证注册用户的Email的方法
2015/09/02 Python
windows下安装Python和pip终极图文教程
2017/03/05 Python
flask + pymysql操作Mysql数据库的实例
2017/11/13 Python
pytorch 数据集图片显示方法
2018/07/26 Python
Python django框架应用中实现获取访问者ip地址示例
2019/05/17 Python
Python3实现zip分卷压缩过程解析
2019/10/09 Python
aws 通过boto3 python脚本打pach的实现方法
2020/05/10 Python
Python用K-means聚类算法进行客户分群的实现
2020/08/23 Python
使用Python提取文本中含有特定字符串的方法示例
2020/12/09 Python
中国网上药店领导者:1药网
2017/02/16 全球购物
Mio Skincare美国官网:身体紧致及孕期身体护理
2017/03/05 全球购物
美国最大的旗帜经销商:Carrot-Top
2018/02/26 全球购物
电脑销售顾问自荐信
2014/01/29 职场文书
母婴店促销方案
2014/03/05 职场文书
工程力学专业自荐信范文
2014/03/17 职场文书
爱国主义演讲稿
2014/05/07 职场文书
私营公司诉讼代理委托书范本
2014/09/13 职场文书
保证金退回承诺函格式
2015/01/21 职场文书
2015年中个人总结范文
2015/03/10 职场文书
2015年班组长工作总结
2015/04/10 职场文书