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 相关文章推荐
jQuery Tools tab(幻灯片)
Jul 14 Javascript
jQuery 获取浏览器所在的IP地址的小例子
Nov 08 Javascript
JS判断表单输入是否为空(示例代码)
Dec 23 Javascript
简介JavaScript中Boolean.toSource()方法的使用
Jun 05 Javascript
js实现带缓冲效果的仿QQ面板折叠菜单代码
Sep 06 Javascript
JS创建对象几种不同方法详解
Mar 01 Javascript
jQuery mobile在页面加载时添加加载中效果 document.ready 和window.onload执行顺序比较
Jul 14 Javascript
vue实现表格增删改查效果的实例代码
Jul 18 Javascript
Angular实现响应式表单
Aug 04 Javascript
解决vue-router在同一个路由下切换,取不到变化的路由参数问题
Sep 01 Javascript
详解angularjs4部署文件过大解决过程
Dec 05 Javascript
Vue组件化(ref,props, mixin,.插件)详解
May 15 Vue.js
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_push() 数组尾部添加一个或多个元素(入栈),返回新长度。
2011/11/07 PHP
mac os快速切换多个PHP版本的方法
2017/03/07 PHP
Laravel配合jwt使用的方法实例
2020/10/25 PHP
基于mootools插件实现遮罩层新手引导
2012/05/24 Javascript
JS动态显示表格上下frame的方法
2015/03/31 Javascript
jQuery实现的多滑动门,多选项卡效果代码
2016/03/28 Javascript
node.js路径处理方法以及绝对路径详解
2021/03/04 Javascript
JS/jQuery判断DOM节点是否存在的简单方法
2016/11/24 Javascript
关于Vue.js 2.0的Vuex 2.0 你需要更新的知识库
2016/11/30 Javascript
JavaScript初学者必看“new”
2017/06/12 Javascript
详谈表单重复提交的三种情况及解决方法
2017/08/16 Javascript
自己动手封装一个React Native多级联动
2018/09/19 Javascript
对 Vue-Router 进行单元测试的方法
2018/11/05 Javascript
利用JavaScript的Map提升性能的方法详解
2019/08/14 Javascript
一分钟学会JavaScript中的try-catch
2020/12/14 Javascript
[52:22]EG vs VG Supermajor小组赛B组 BO3 第一场 6.2
2018/06/03 DOTA
Python删除windows垃圾文件的方法
2015/07/14 Python
Python实现替换文件中指定内容的方法
2018/03/19 Python
pandas将DataFrame的列变成行索引的方法
2018/04/10 Python
selenium处理元素定位点击无效问题
2019/06/12 Python
python画图的函数用法以及技巧
2019/06/28 Python
简单了解Pandas缺失值处理方法
2019/11/16 Python
python如何解析复杂sql,实现数据库和表的提取的实例剖析
2020/05/15 Python
解决Python数据可视化中文部分显示方块问题
2020/05/16 Python
美国户外服装和装备购物网站:Outland USA
2020/03/22 全球购物
武汉高蓝德国际.net机试
2016/06/24 面试题
安全生产管理合理化建议书
2014/03/12 职场文书
企业安全生产承诺书
2014/05/22 职场文书
新闻传播专业求职信
2014/07/22 职场文书
小学生安全责任书
2014/07/25 职场文书
银行求职信范文怎么写
2015/03/20 职场文书
酒店采购员岗位职责
2015/04/03 职场文书
2015年医院科室工作总结范文
2015/05/26 职场文书
导游词之天津古文化街
2019/11/09 职场文书
nginx处理http请求实现过程解析
2021/03/31 Servers
httpclient调用远程接口的方法
2022/08/14 Java/Android