Javascript正則判斷日期格式執行個體

來源:互聯網
上載者:User


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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.