js判断日期时间有效性的方法

 更新时间:2015年10月24日 15:34:53   投稿:lijiao  
这篇文章主要介绍了判断js验证日期时间有效性的方法,需要的朋友可以参考下

分享两种使用javascript验证日期以及时间是否有效的方法
第一种:

//| 日期有效性验证 
//| 格式为:YYYY-MM-DD或YYYY/MM/DD  
function IsValidDate(DateStr){ 
  var sDate=DateStr.replace(/(^\s+|\s+$)/g,'');//去两边空格; 
  if(sDate==''){ 
    return true; 
  } 
  //如果格式满足YYYY-(/)MM-(/)DD或YYYY-(/)M-(/)DD或YYYY-(/)M-(/)D或YYYY-(/)MM-(/)D就替换为'' 
  //数据库中,合法日期可以是:YYYY-MM/DD(2003-3/21),数据库会自动转换为YYYY-MM-DD格式 
  var s=sDate.replace(/[\d]{ 4,4 }[\-/]{1}[\d]{1,2}[\-/]{1}[\d]{1,2}/g,''); 
  if(s==''){//说明格式满足YYYY-MM-DD或YYYY-M-DD或YYYY-M-D或YYYY-MM-D 
    var t=new Date(sDate.replace(/\-/g,'/')); 
    var ar=sDate.split(/[-/:]/); 
    if(ar[0]!=t.getYear()||ar[1]!=t.getMonth()+1||ar[2]!=t.getDate()){//alert('错误的日期格式!格式为:YYYY-MM-DD或YYYY/MM/DD。注意闰年。'); 
      return false; 
    } 
  }else{//alert('错误的日期格式!格式为:YYYY-MM-DD或YYYY/MM/DD。注意闰年。'); 
    return false; 
  } 
  return true; 
} 

第二种:

//| 日期时间有效性检查 
//| 格式为:YYYY-MM-DD HH:MM:SS 
function CheckDateTime(str){ 
  var reg=/^(\d+)-(\d{ 1,2})-(\d{ 1,2})(\d{ 1,2}):(\d{1,2}):(\d{1,2})$/; 
  var r=str.match(reg); 
  if(r==null) return false; 
  r[2]=r[2]-1; 
  var d= new Date(r[1],r[2],r[3],r[4],r[5],r[6]); 
  if(d.getFullYear()!=r[1]) return false; 
  if(d.getMonth()!=r[2]) return false; 
  if(d.getDate()!=r[3]) return false; 
  if(d.getHours()!=r[4]) return false; 
  if(d.getMinutes()!=r[5]) return false; 
  if(d.getSeconds()!=r[6]) return false; 
  return true; 
} 

以上这两种方法分享给大家,希望大家可以喜欢。

相关文章

  • 解决layui上传文件提示上传异常,实际文件已经上传成功的问题

    解决layui上传文件提示上传异常,实际文件已经上传成功的问题

    今天小编就为大家分享一篇解决layui上传文件提示上传异常,实际文件已经上传成功的问题。具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • JS中数据类型的正确判断方法实例

    JS中数据类型的正确判断方法实例

    怎么去判断一个数据属于哪个数据类型,这个是很常见的操作,我们一般都会想到typeof和instanceof这两个常见的方法,但有时候这两种方法并不能满足我们的需求,下面这篇文章主要给大家介绍了关于JS中数据类型的正确判断方法,需要的朋友可以参考下
    2021-08-08
  • 原生js实现复制对象、扩展对象 类似jquery中的extend()方法

    原生js实现复制对象、扩展对象 类似jquery中的extend()方法

    jq的extend()方法能很方便的实现扩展对象方法,这里要实现的是:原生js实现复制对象,扩展对象,类似jq中的extend()方法,需要的朋友可以参考下
    2014-08-08
  • 跟我学习javascript的for循环和for...in循环

    跟我学习javascript的for循环和for...in循环

    跟我学习javascript的for循环和for...in循环,它们是JavaScript中提供了两种方式迭代对象,本文就和大家一起学习for循环和for...in循环,感兴趣的小伙伴们可以参考一下
    2015-11-11
  • 9个让JavaScript调试更简单的Console命令

    9个让JavaScript调试更简单的Console命令

    这篇文章主要为大家详细介绍了9个让JavaScript调试更简单的Console命令,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • JavaScript数组操作总结

    JavaScript数组操作总结

    JavaScript中的Array对象与其他编程语言中的数组一样,是一组数据的集合。在JavaScript中,数组里面的数据可以是不同类型的,并具有用于执行数组常见操作的方法,本文整理了一些常用的,需要的可以参考一下
    2022-10-10
  • JavaScript代码实现图片循环滚动效果

    JavaScript代码实现图片循环滚动效果

    这篇文章主要介绍了JavaScript代码实现图片循环滚动效果的相关资料,非常不错,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2016-06-06
  • Js类的静态方法与实例方法区分及jQuery拓展的两种方法

    Js类的静态方法与实例方法区分及jQuery拓展的两种方法

    这篇文章主要介绍了Js类的静态方法与实例方法区分及jQuery拓展的两种方法 的相关资料,对静态方法(Static)和实例方法(非Static)不太理解的朋友可以一起学习下
    2016-06-06
  • js实现音频控制进度条功能

    js实现音频控制进度条功能

    本文主要介绍了js实现音频控制进度条功能的示例代码。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-04-04
  • webpack4 配置 ssr 环境遇到“document is not defined”

    webpack4 配置 ssr 环境遇到“document is not defined”

    这篇文章主要介绍了webpack4 配置 ssr 环境遇到“document is not defined”,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10

最新评论