這次帶給大家判斷日期是否有效的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's a valid day of the month d <= (new Date(y, m, 0)). getDate () ); } return isDate(theDate, theFormat); }
使用方法:
下面這個呼叫返回false,因為11月份沒有31天
isValidDate('dd-mm-yyyy', '31/11/2012')
相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!
推薦閱讀:
JavaScript執行機制之為什麼JavaScript是單執行緒
以上是判斷日期是否有效的JavaScript程式碼段的詳細內容。更多資訊請關注PHP中文網其他相關文章!