javascript验证给定的日期的合法性——升级版

javascript|日期

  我曾经发过一个《javascript验证给定的日期的合法性》的文章,当时的代码只能验证日期,不能验证时间。新发的升级版可以验证日期时间的混合串。

代码如下:

-----------------------

//验证给定的日期是否合法   ,参数格式要求:yyyy-mm-dd[ hh:mi:ss] 可以根据情况更改正则表达式
function isDate(oDateTime)
{
    //对日期格式进行验证 要求为2000-2099年  格式为 yyyy-mm-dd[ hh:mi:ss]  并且可以正常转换成正确的日期
    var pat_hd=/^(20\d{2}-((0[1-9]{1})|(1[0-2]{1}))-((0[1-9]{1})|([1-2]{1}[0-9]{1})|(3[0-1]{1}))){1}(\s\d{2}:\d{2}:\d{2})?$/;
 try{
   if(!pat_hd.test(oDateTime)) throw "日期非法!";
   var arr_dt=oDateTime.split(" ");
   if(arr_dt[0]=='') throw "日期非法!";
   var oDate=arr_dt[0];
   var arr_hd=oDate.split("-");
   var dateTmp;
   dateTmp= new Date(arr_hd[0],parseFloat(arr_hd[1])-1,parseFloat(arr_hd[2]));
   if(dateTmp.getFullYear()!=parseFloat(arr_hd[0]) || dateTmp.getMonth()!=parseFloat(arr_hd[1]) -1 || dateTmp.getDate()!=parseFloat(arr_hd[2])) throw "日期非法!";
            if(arr_dt[1] && arr_dt[1]!='')
            {
               var oTime=arr_dt[1];
               var arr_ht=oTime.split(":");
               dateTmp.setHours(arr_ht[0],arr_ht[1],arr_ht[2]);
      if(dateTmp.getHours()!=parseFloat(arr_ht[0]) || dateTmp.getMinutes()!=parseFloat(arr_ht[1]) || dateTmp.getSeconds()!=parseFloat(arr_ht[2])) throw "日期非法!";
            }
  }
 catch(ex)
  {
   if(ex.description)
   {return false;}
   else
    {return false;}
  }
 return true;
}

调用:

------------------

alert(isDate("2004-12-12 23:34:23"));

alert(isDate("2004-12-12"));

时间: 2024-09-17 04:52:23

javascript验证给定的日期的合法性——升级版的相关文章

javascript验证给定的日期的合法性

javascript|日期 <script language="javascript"> //验证给定的日期是否合法   ,参数格式要求:yyyy-mm-dd 可以根据情况更改正则表达式function isDate(oStartDate){    //对日期格式进行验证 要求为2000-2099年  格式为 yyyy-mm-dd 并且可以正常转换成正确的日期    var pat_hd=/^20\d{2}-((0[1-9]{1})|(1[0-2]{1}))-((0[1-9

&amp;#106avascript验证给定的日期的合法性

<script language="javascript"> //验证给定的日期是否合法   ,参数格式要求:yyyy-mm-dd 可以根据情况更改正则表达式function isDate(oStartDate){    //对日期格式进行验证 要求为2000-2099年  格式为 yyyy-mm-dd 并且可以正常转换成正确的日期    var pat_hd=/^20\d{2}-((0[1-9]{1})|(1[0-2]{1}))-((0[1-9]{1})|([1-2]{1

php日期格式合法性正则验证代码

$days = date("y-m-d"); //方法一正则验证日期  代码如下 复制代码 $reg="/d{4}-d{2}-d{2}/"; preg_match($reg,$days,$arr); print_r($arr); //方法二用cehckdate验证  代码如下 复制代码 $k = explode('-',$days); if( checkdate($k[1],$k[2],$k[0])  ) {  echo $days,'日期合法'; } else {

网页制作实例:用javascript判断录入的日期合法性

javascript|日期|网页 如何用javascript判断录入的日期是否合法 function IsValidYear(psYear){    var sYear = new String(psYear);     if(psYear==null)    {        return false;    }     if(isNaN(psYear)==true)    {        return false;    }     if(sYear == "")    {   

javascript验证身份证号

 我们在做互联网网站时,注册个人资料时,经常要用到身份证号,我们需要对身份证进验证,不然别人随便输个号码就通过,让你感觉这个网站做得很shit. 身份证号是有规则的. 结构和形式 1.号码的结构 公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成.排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码. 2.地址码 表示编码对象常住户口所在县(市.旗.区)的行政区划代码,按GB/T2260的规定执行. 3.出生日期码 表示编码对象出生的年.月.日,按

javascript验证身份证号_javascript技巧

我们在做互联网网站时,注册个人资料时,经常要用到身份证号,我们需要对身份证进验证,不然别人随便输个号码就通过,让你感觉这个网站做得很shit. 身份证号是有规则的. 结构和形式 1.号码的结构 公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成.排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码. 2.地址码 表示编码对象常住户口所在县(市.旗.区)的行政区划代码,按GB/T2260的规定执行. 3.出生日期码 表示编码对象出生的年.月.日,按G

JS获取及验证开始结束日期的方法_javascript技巧

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

javascript表单验证使用示例(javascript验证邮箱)_javascript技巧

被 JavaScript 验证的这些典型的表单数据有: 用户是否已填写表单中的必填项目?用户输入的邮件地址是否合法?用户是否已输入合法的日期?用户是否在数据域 (numeric field) 中输入了文本?必填(或必选)项目 下面的函数用来检查用户是否已填写表单中的必填(或必选)项目.假如必填或必选项为空,那么警告框会弹出,并且函数的返回值为 false,否则函数的返回值则为 true(意味着数据没有问题): 复制代码 代码如下: function validate_required(field

如何用javascript判断录入的日期是否合法

javascript|日期 如何用javascript判断录入的日期是否合法 function IsValidYear(psYear){    var sYear = new String(psYear);     if(psYear==null)    {        return false;    }     if(isNaN(psYear)==true)    {        return false;    }     if(sYear == "")    {