偵測 JavaScript 中的無效日期實例
確定 JavaScript Date 物件是否有效可能是一個挑戰。儘管顯示為對象,無效日期在字串轉換時返回“無效日期”。 instanceof Date 和 console.log 輸出之間的這種差異給開發人員帶來了問題。
解決方案:檢查 NaN 時間值
檢測無效日期的可靠方法是測試 NaN 作為時間值。在 Date 物件中,NaN 表示無效日期,而有效日期則具有有效的時間值。此行為記錄在 ECMA-262 標準中。
程式碼範例:
if (Object.prototype.toString.call(d) === "[object Date]") { if (isNaN(d)) { // d.getTime() or d.valueOf() also works // Date object is invalid } else { // Date object is valid } } else { // Not a date object }
簡化版本:
function isValidDate(d) { return d instanceof Date && !isNaN(d); }
請注意,此解決方案僅驗證日期對象,而不驗證日期輸入。無效日期(例如“2013-13-32”)與無效日期實例不同。
以上是如何可靠地偵測無效的 JavaScript 日期物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!