快捷搜索:

Javascript正则判断日期格式实例

我们这里验证日期格式为yyyy-mm-dd格式,这样有固定格式了我们的正则时就可以这样写/^(\d{4})-(\d{2})-(\d{2})$/来操作,下面我来介绍一下。


例1

 代码如下 复制代码

/**  
     判断输入框中输入的日期格式为yyyy-mm-dd和正确的日期  
   */ 
  function   IsDate(sm,mystring)   {  
      var   reg   =   /^(d{4})-(d{2})-(d{2})$/;  
      var   str   =   mystring;  
      var   arr   =   reg.exec(str);  
      if   (str=="")   return   true;  
      if   (!reg.test(str)&&RegExp.$2<=12&&RegExp.$3<=31){  
        alert("请保证"+sm+"中输入的日期格式为yyyy-mm-dd或正确的日期!");  
        return   false;  
        }  
        return   true;  
    }

例2

 代码如下 复制代码

/**  
     判断输入框中输入的日期格式为yyyy/mm/dd和正确的日期  
   */ 
//日期格式
    ['date_au', function(v) {
      if (Vanadium.validators_types['empty'].test(v)) return true;
    
     var regex = /^(d{2})/(d{2})/(d{4})$/;
      if (!regex.test(v)) return false;
      var d = new Date(v.replace(regex, '$2/$1/$3'));
      return ( parseInt(RegExp.$2, 10) == (1 + d.getMonth()) ) && (parseInt(RegExp.$1, 10) ==
d.getDate()) && (parseInt(RegExp.$3, 10) == d.getFullYear() );
    },

例3

这里我们来一个比较完整的日期格式函数

 

 代码如下 复制代码
//是否是日期格式
      function CheckDate(strDate) {
          var reg = /^(d{4})-(d{2})-(d{2})$/;
          if (!reg.test(strDate)) {
              alert("日期格式不正确!/n正确格式为:2004-01-01");
              return false;
          }
          var year = strDate.substring(0, 4);
          var month = strDate.substring(5, 7);
          var date = strDate.substring(8, 10);
          if (!checkYear(year)) { return false; }
          if (!checkMonth(month)) { return false; }
          if (!checkDate(year, month, date)) { return false; }
          return true;
      }
      function checkYear(year) {
          if (isNaN(parseInt(year))) {
              alert("年份输入有误,请重新输入!");
              return false;
          }
          else if (parseInt(year) < 1950 || parseInt(year) > 2050) {
              alert("年份应该在1950-2050之间!");
              return false;
          }
          else return true;
      }
      function checkMonth(month) {
          if (isNaN(parseInt(month, 10))) { alert("月份输入有误,请重新输入!"); return false; }
          else if (parseInt(month, 10) < 1 || parseInt(month, 10) > 12) {
              alert("月份应该在1-12之间");
              return false;
          }
          else return true;
      }
      function checkDate(year, month, date) {
          var daysOfMonth = CalDays(parseInt(year), parseInt(month));
          if (isNaN(parseInt(date))) { alert("日期输入有误,请重新输入!"); return false; }
          else if (parseInt(date) < 1 || parseInt(date) > daysOfMonth) { alert("日期应该在1-" + daysOfMonth + "之间!"); return false; }
          else return true;
      }
      function CalDays(year, month) {
          var date = new Date(year, month, 0);
          return date.getDate();
      }
      function isLeapYear(year) {
          if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) return true;
          else return false;
      }

http://www.bkjia.com/AJaxjc/448629.htmlwww.bkjia.comtruehttp://www.bkjia.com/AJaxjc/448629.htmlTechArticle我们这里验证日期格式为yyyy-mm-dd格式,这样有固定格式了我们的正则时就可以这样写/^(\d{4})-(\d{2})-(\d{2})$/来操作,下面我来介绍一下。...

本文源自: AG88平台

您可能还会对下面的文章感兴趣: