javascript 验证日期的函数

导致数据库跑任务出现错误(任务根据日期来计算状态的,由于数据量比较大,都做成任务夜里跑),为了避免再出现此类的错误,所以增加了一个验证日期有效性的javascript方法。
本方法能够有效的验证闰年,支持的日期格式有:2009-01-01、2009/01/01两种格式。
javascript代码


代码如下:

//判断日期是否合法
function IsDate(oTextbox) {
var regex = new RegExp("^(?:(?:([0-9]{4}(-|\/)(?:(?:0?[1,3-9]|1[0-2])(-|\/)(?:29|30)|((?:0?[13578]|1[02])(-|\/)31)))|([0-9]{4}(-|\/)(?:0?[1-9]|1[0-2])(-|\/)(?:0?[1-9]|1\\d|2[0-8]))|(((?:(\\d\\d(?:0[48]|[2468][048]|[13579][26]))|(?:0[48]00|[2468][048]00|[13579][26]00))(-|\/)0?2(-|\/)29))))$");
var dateValue = oTextbox.value;
if (!regex.test(dateValue)) {
alert("日期有误!");
dateValue = "";
this.focus();
return;
}
}

使用测试


代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title></title>
<script type="text/javascript" src="jQuery/JScript1.js"></script>
<script type="text/javascript" src="jQuery/jquery-vsdoc.js"></script>
</head>
<body>
<input type="text" id="sDate" />
<script type="text/javascript">
$("#sDate").blur(function() {IsDate($(this)[0]);})
</script>
</body>
</html>

(0)

相关推荐

  • 两行代码轻松搞定JavaScript日期验证

    我们通常在 JavaScript 中验证日期,基本的思路大概是,先判断年月日是否有效,再判断当月是否有当日,比如一些月份没有 31 日,平年二月没有 29.30 日,闰年二月没有 30 日等等. 偶然间发现一个技巧,能判断以上所有的情况.除去赋值代码,实际代码仅两行. 其实这个技巧也很简单,通过实例化 Date 对象来生成一个合法的日期,再去对比年月日是否相等,以验证日期是否合法. var originalYear = 2016; var originalMonth = 12; var orig

  • JS验证日期的格式YYYY-mm-dd 具体实现

    复制代码 代码如下: function checkInputDate(obj){   var   strDate=obj.value;    var  re =/^(\d{4})-(\d{2})-(\d{2})$/;    if(re.test(strDate))//判断日期格式符合YYYY-MM-DD标准    {     var   dateElement=new   Date(RegExp.$1,parseInt(RegExp.$2,10)-1,RegExp.$3);      if(!(

  • JS 日期验证正则附asp日期格式化函数

    javascript 日期验证正则 复制代码 代码如下: var pattern = /^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)

  • js获取日期:昨天今天和明天、后天

    复制代码 代码如下: <html> <head> <meta http-equiv="Content-Type" content="textml; charset=utf-8"> <title>js获取日期:前天.昨天.今天.明天.后天 - Liehuo.Net</title> </head> <body> <script language="JavaScript&q

  • JS获取及验证开始结束日期的方法

    本文实例讲述了JS获取及验证开始结束日期的方法.分享给大家供大家参考,具体如下: function validation() { var startdate=document.getElementById("start_tenancyDate_s").value; var enddate=document.getElementById("end_tenancyDate_s").value; var datesent=dateDiff(enddate,startdat

  • js实现获取两个日期之间所有日期的方法

    本文实例讲述了js实现获取两个日期之间所有日期的方法.分享给大家供大家参考,具体如下: <script> function getDate(datestr){ var temp = datestr.split("-"); var date = new Date(temp[0],temp[1],temp[2]); return date; } var start = "2012-3-25"; var end = "2012-4-3";

  • 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

  • javascript日期验证之输入日期大于等于当前日期

    本文实例分析了javascript输入日期大于等于当前日期验证代码,分享给大家供大家参考,具体如下: <script> $(function () { var d = new Date(); var strDate = getDateStr(d); $("#beginTime").val(strDate); $("#endTime").val(strDate); //$("#beginTime").val("2015-10-

  • JS获取时间的相关函数及时间戳与时间日期之间的转换

    时间戳和时间日期的转换是常见的操作,下面就通过代码实例介绍一下如何实现它们之间的相互转换. 在没学习本文之前先给大家介绍下javascript中Date()构造函数参数: 关于Date对象大家想必一定不陌生,使用Date()构造函数创建一个时间对象是最基本的操作了,例如: var theDate=new Date(); theDate.getDate(); 使用以上代码可以获取当前日期的天. 上面是对于Date()构造函数最简单的应用了,Date对象具有多种构造函数,下面简单列举如下: new

  • 获取阴历(农历)和当前日期的js代码

    本文为大家分享了一段js显示阴历(农历)和当前日期的关键性代码,供大家参考,具体内容如下 var CalendarData=new Array(100); var madd=new Array(12); var tgString="甲乙丙丁戊己庚辛壬癸"; var dzString="子丑寅卯辰巳午未申酉戌亥"; var numString="一二三四五六七八九十"; var monString="正二三四五六七八九十冬腊";

  • js日期插件dateHelp获取本月、三个月、今年的日期

    最近看了一些关于面向对象的知识,最近工作中在做统计查询的时候需要用到本月.近三个月.今年的日期范围,所以下面用用面向对象的思想写了一个获取日期的插件,大家可以借鉴使用. 直接通过new DateHelp就可以调用了 var myDate = new DateHelp({ date:'2015-02-01',//从此日期开始计算 format:'yyyy/MM/dd' }); myDate.getThisMonth(); myDate.getThreeMonth(); myDate.getThis

随机推荐