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;
} 

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

(0)

相关推荐

  • extjs 时间范围选择自动判断的实现代码

    extjs中 有时需要选择一个日期范围,需要自动判断,选择的开始日期不能大于结束日期,或结束日期不能小于开始日期,实现的代码如下 效果图: 从上图可以看到,当选择了一个开始时间后,会自动限制结束时间的选择范围,实现两个日期选择器的联动. 代码如下: 首先定义联动处理函数: Ext.apply(Ext.form.field.VTypes, { daterange: function (val, field) { var date = field.parseDate(val); if (!date)

  • js 判断所选时间(或者当前时间)是否在某一时间段的实现代码

    核心代码: var time_range = function (beginTime, endTime, nowTime) { var strb = beginTime.split (":"); if (strb.length != 2) { return false; } var stre = endTime.split (":"); if (stre.length != 2) { return false; } var strn = nowTime.split

  • js判断选择的时间是否大于今天的代码

    复制代码 代码如下: <script>$("#pseudo_review_time'+goods_id+'").datepicker({dateFormat: "yy-mm-dd"});$("#pseudo_review_time'+goods_id+'").change(function(){var thetime=$(this).val();var d=new Date(Date.parse(thetime.replace(/-/

  • 判断Session的过期时间 采用JavaScript实时显示剩余多少秒

    <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <%session.timeout=1440 '单位(分钟)1440=24小时 参数不能大于24小时 也就是不能大于1440分钟%> <% if session("login")<>"888888" then'判断Session是否有效 Response.Write("Session过期了&quo

  • JS判断时间段的实现代码

    废话不多说了,直接给大家贴代码了,具体代码如下所示: <th>交易时间开始:</th> <td><input id="bcconDateBeginDate" name="bcconDateBeginDate" value="2016/06/12 00:00:00" class="easyui-datetimebox" editable="false" style=&

  • JS判断两个时间大小的示例代码

    如下所示: 复制代码 代码如下: function validTime(startTime,endTime){       var arr1 = startTime.split("-");       var arr2 = endTime.split("-");       var date1=new Date(parseInt(arr1[0]),parseInt(arr1[1])-1,parseInt(arr1[2]),0,0,0);        var dat

  • js判断选择时间不能小于当前时间的示例代码

    复制代码 代码如下: var controldate; function checkDate(){ controldate= document.getElementById("sendDate").value; if(controldate==""){ alert('日期不能为空'); return false; }else{ var day = new Date(); var Year = 0; var Month = 0; var Day = 0; var Cu

  • 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或

  • JS实现日期时间动态显示的方法

    本文实例讲述了JS实现日期时间动态显示的方法.分享给大家供大家参考,具体如下: 运行效果截图如下: 具体代码如下: <html> <head> <title>js日期时间动态显示</title> </head> <body> <div id='jnkc'></div> <script>setInterval("jnkc.innerHTML=new Date().toLocaleString

  • JS动态日期时间的获取方法

    由于代码比较简单,小编就不再讲解,看代码就明白了,直接把实例帖出来. <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>实时时间</title> <script type="text/javascript"> var slidint; function newTimer() { stopit(); var today; today = new

  • js日期时间格式化的方法实例

    js日期时间格式化 将日期时间转换为指定格式,如:YYYY-mm-dd HH:MM表示2019-06-06 19:45 function dateFormat(fmt, date) { let ret; const opt = { "Y+": date.getFullYear().toString(), // 年 "m+": (date.getMonth() + 1).toString(), // 月 "d+": date.getDate().t

  • JS判断日期格式是否合法的简单实例

    类似于PHP中的Checkdate. //函数名:CheckDateTime //功能介绍:检查是否为日期时间 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],

  • C#判断日期是否到期的方法

    本文实例讲述了C#判断日期是否到期的方法,在C#程序开发中非常具有实用价值.分享给大家供大家参考之用.具体方法如下: 一般在用户权限系统中,有时候需要根据用户的签约时间和签约时长来判断是否到期.先来看看帮助类如下: public static class DateExprieHelper { /// <summary> /// 根据签约时间和签约时长来判断是否到期 /// </summary> /// <param name="joinDate">签

  • js判断传入时间和当前时间大小实例(超简单)

    实例如下: //判断时间是否过期 function judgeTime(time){ var strtime = time.replace("/-/g", "/");//时间转换 //时间 var date1=new Date(strtime); //现在时间 var date2=new Date(); //判断时间是否过期 return date1<date2?true:false; } 以上这篇js判断传入时间和当前时间大小实例(超简单)就是小编分享给大家

  • js 判断当前时间是否处于某个一个时间段内

    js 判断当前时间(或者所选时间)是否在某一时间段 我们可以使用 jutils - JavaScript常用函数库的 isDuringDate 函数来实现 传入 beginDateStr (开始时间), endDateStr(结束时间) 使用方法 jutils.isDuringDate('2018/09/17', '2030/09/17'); // 当前时间是否在2018/09/17 - 2030/09/17 之间,输出 true jutils.isDuringDate('2018/09/17

  • js 显示日期时间的实例(时间过一秒加1)

    html: <div id="data"><font>2017年10月17日 15:11:11</font></span> js: 1:引入js库 2: function showLocale(objD) { var str, colorhead, colorfoot; var yy = objD.getYear(); if (yy < 1900) yy = yy + 1900; var MM = objD.getMonth() +

  • js 判断各种数据类型的简单方法(推荐)

    了解js的都知道, 有个typeof  用来判断各种数据类型,有两种写法:typeof   xxx   ,typeof(xxx)  如下实例: typeof   2      输出   number typeof   null   输出   object typeof   {}    输出   object typeof    []    输出   object typeof   (function(){})   输出  function typeof    undefined  输出  und

随机推荐