首頁 >web前端 >js教程 >判斷日期是否有效的JavaScript程式碼段

判斷日期是否有效的JavaScript程式碼段

php中世界最好的语言
php中世界最好的语言原創
2018-03-16 16:09:391896瀏覽

這次帶給大家判斷日期是否有效的JavaScript程式碼段,用JavaScript判斷日期是否有效的注意事項有哪些,以下就是實戰案例,一起來看一下。

JavaScript正變得越來越流行,它已經成為前端開發的第一選擇,並且利用基於JavaScript語言的NodeJS,我們也可以開發出高效能的後端服務,甚至我還看到在硬體程式設計領域也出現了JavaScript的身影。 JavaScript正逐漸進化成一門全能的開發語言。

但用好JavaScript並不容易,你除了需要掌握它的語法並知道如何寫出高品質的程式碼之外,還需要了解如何解決那些幾乎在每個專案中都會遇到的需求場景,例如:判斷日期,高亮文本,限製字元數等等,有很多第三方庫可以解決這些問題,但這些庫可能並非只是為解決這一問題而創建的,這意味著你需要引入了很多無關的程式碼,這將使你的整個系統變得臃腫,而且也會影響系統的效能。我的做法是,收集和使用那些常見的JavaScript程式碼段,並在需要時,盡可能先使用它們。下面便是我收集的10段實用JavaScript程式碼,基於它們你還可以創造出更強大的JS插件或功能函數。

JavaScript中自帶的日期函數還是太簡單,很難滿足真實專案中對不同日期格式進行解析和判斷的需要。 JQuery也有一些第三方函式庫來讓日期相關的處理變得簡單,但有時你可能只需要一個非常簡單的函數,而不想引入一個龐大的第三方函式庫。這時,你可以使用下面這段日期校驗程式碼,它允許你自訂日期格式並進行日期有效性的校驗。

function isValidDate(value, userFormat) { 
  // Set default format if format is not provided
  userFormat = userFormat || 'mm/dd/yyyy'; 
  // Find custom delimiter by excluding
  // month, day and year characters
  var delimiter = /[^mdy]/.exec(userFormat)[0]; 
  // Create an array with month, day and year
  // so we know the format order by index
  var theFormat = userFormat.split(delimiter); 
  // Create array from user date
  var theDate = value.split(delimiter); 
  function isDate(date, format) {    var m, d, y, i = 0, len = format.length, f;    for (i; i < len; i++) {
      f = format[i];      if (/m/.test(f)) m = date[i];      if (/d/.test(f)) d = date[i];      if (/y/.test(f)) y = date[i];
    }    
return
 (
      m > 0 && m < 13 &&
      y && y.length === 4 &&
      d > 0 &&      // Check if it&#39;s a valid day of the month
      d <= (new Date(y, m, 0)).
getDate
()
    );
  } 
  return isDate(theDate, theFormat);
}

使用方法:
下面這個呼叫返回false,因為11月份沒有31天

isValidDate(&#39;dd-mm-yyyy&#39;, &#39;31/11/2012&#39;)

相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

推薦閱讀:

JS的Arrary方法

JavaScript執行機制之Event Loop

JavaScript執行機制之為什麼JavaScript是單執行緒

以上是判斷日期是否有效的JavaScript程式碼段的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn