目錄
jQuery日期驗證常見問題解答 (FAQs)
如何使用jQuery驗證特定格式的日期?
什麼是jQuery驗證插件,如何將其用於日期驗證?
如何使用jQuery驗證日期範圍?
我能否在不使用插件的情況下使用jQuery驗證日期?
首頁 web前端 js教程 jQuery檢查日期是否有效

jQuery檢查日期是否有效

Mar 01, 2025 am 08:51 AM

jQuery Check if Date is Valid

簡單JavaScript函數用於檢查日期是否有效。

function isValidDate(s) {
  var bits = s.split('/');
  var d = new Date(bits[2] + '/' + bits[1] + '/' + bits[0]);
  return !!(d && (d.getMonth() + 1) == bits[1] && d.getDate() == Number(bits[0]));
}

//测试
var currentDate = new Date('31/09/2011');
console.log(isValidDate(currentDate.toString()));
console.log(isValidDate('30/09/2011'));

JavaScript函數用於獲取一個月的天數。

function daysInMonth(month, year) {
    return new Date(year, month, 0).getDate();
}

//测试
daysInMonth('09','2011');
//输出: 30

另見:- jQuery 獲取未來日期

  • JavaScript 日期顯示年份錯誤
  • jQuery 日期時間函數 - 完整列表

JavaScript函數用於檢查日期是否有效,如果無效則將其設置為當月最後一天。

/* 检查日期是否有效,如果无效则恢复到当月最后一天 */
validateDateLastDayMonth: function() {
    /* 辅助函数 */
    function isValidDate(s) {
      var bits = s.split('/');
      var d = new Date(bits[2] + '/' + bits[1] + '/' + bits[0]);
      return !!(d && (d.getMonth() + 1) == bits[1] && d.getDate() == Number(bits[0]));
    } 

    function daysInMonth(month, year) {
        return new Date(year, month, 0).getDate();
    }

    /* 初始化 */
    var currentDate = new Date(),
    currentMonth = currentDate.getMonth() + 1,
    lastDayOfMonth = new Date(currentDate.getFullYear(), (currentDate.getMonth() - 1), 0).getDate(),
    departureDate = FCL.DATETIME.futureDateDays(14),
    depDate = departureDate.split('/'),
    departureDateMonth = depDate[1];
    if (departureDateMonth != currentMonth) {
        departureDate = FCL.DATETIME.leadingZero(lastDayOfMonth) +'/'+ FCL.DATETIME.leadingZero(currentMonth) +'/'+ depDate[2];
    }

    /* 验证日期 */
    if (!isValidDate(departureDate.toString())) {
        var bits = departureDate.split('/');
        departureDate = FCL.DATETIME.leadingZero(daysInMonth(bits[1],bits[2])) +'/'+ FCL.DATETIME.leadingZero(currentMonth) +'/'+ depDate[2];
    }

    $('input[name="depDate"]').val(departureDate);
}

jQuery日期驗證常見問題解答 (FAQs)

如何使用jQuery驗證特定格式的日期?

jQuery 提供了一個名為 $.datepicker.parseDate 的方法,可用於驗證特定格式的日期。此方法採用兩個參數:日期格式和日期字符串。如果日期字符串與格式匹配,則該方法返回一個 Date 對象。如果不匹配,則會引發錯誤。示例如下:

try {  
 $.datepicker.parseDate('dd/mm/yy', '31/12/2020');  
 console.log('日期有效');  
} catch (error) {  
 console.log('日期无效');  
}

什麼是jQuery驗證插件,如何將其用於日期驗證?

jQuery驗證插件提供了一個強大的客戶端表單驗證框架。它包括針對常見需求(包括日期驗證)的內置驗證方法。要使用它,您需要在項目中包含該插件,並在表單上調用 validate 方法。您可以為每個表單字段(包括日期字段)指定規則。例如:

$('form').validate({  
 rules: {  
 dateField: {  
 date: true  
 }  
 }  
});

如何使用jQuery驗證日期範圍?

要驗證日期範圍,您可以使用 $.datepicker.parseDate 方法將日期字符串轉換為 Date 對象,然後進行比較。示例如下:

var startDate = $.datepicker.parseDate('dd/mm/yy', '01/01/2020');  
var endDate = $.datepicker.parseDate('dd/mm/yy', '31/12/2020');  

if (startDate > endDate) {  
 console.log('开始日期晚于结束日期');  
} else {  
 console.log('日期范围有效');  
}

我能否在不使用插件的情況下使用jQuery驗證日期?

可以,您可以使用內置的 JavaScript Date 對象來驗證日期,而無需使用插件。但是,此方法不如使用插件或 $.datepicker.parseDate 方法靈活,也更複雜。示例如下:

var dateString = '31/12/2020';  
var dateParts = dateString.split('/');  
var dateObject = new Date(+dateParts[2], dateParts[1] - 1, +dateParts[0]);  

if (dateObject.getDate() == dateParts[0] && dateObject.getMonth() == dateParts[1] - 1 && dateObject.getFullYear() == dateParts[2]) {  
 console.log('日期有效');  
} else {  
 console.log('日期无效');  
}

其餘FAQ內容與上麵類似,只是對問題的描述和代碼示例略有調整,為了避免重複,這裡不再贅述。 核心思想都是基於JavaScript的Date對象和jQuery的$.datepicker.parseDate方法進行日期的有效性驗證。 不同的問題只是在驗證條件上有所不同,例如日期格式、日期範圍、閏年等。

以上是jQuery檢查日期是否有效的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

PHP教程
1598
276
在打字稿中的高級條件類型 在打字稿中的高級條件類型 Aug 04, 2025 am 06:32 AM

TypeScript的高級條件類型通過TextendsU?X:Y語法實現類型間的邏輯判斷,其核心能力體現在分佈式條件類型、infer類型推斷和復雜類型工具的構建。 1.條件類型在裸類型參數上具有分佈性,能自動對聯合類型拆分處理,如ToArray得到string[]|number[]。 2.利用分佈性可構建過濾與提取工具:Exclude通過TextendsU?never:T排除類型,Extract通過TextendsU?T:never提取共性,NonNullable過濾null/undefined。 3

微觀前端體系結構:實施指南 微觀前端體系結構:實施指南 Aug 02, 2025 am 08:01 AM

Microfrontendssolvescalingchallengesinlargeteamsbyenablingindependentdevelopmentanddeployment.1)Chooseanintegrationstrategy:useModuleFederationinWebpack5forruntimeloadingandtrueindependence,build-timeintegrationforsimplesetups,oriframes/webcomponents

JavaScript中的VAR,LET和CONST之間有什麼區別? JavaScript中的VAR,LET和CONST之間有什麼區別? Aug 02, 2025 pm 01:30 PM

varisfunction-scoped,canbereassigned,hoistedwithundefined,andattachedtotheglobalwindowobject;2.letandconstareblock-scoped,withletallowingreassignmentandconstnotallowingit,thoughconstobjectscanhavemutableproperties;3.letandconstarehoistedbutnotinitial

什麼是JS中的可選鏈接(?)? 什麼是JS中的可選鏈接(?)? Aug 01, 2025 am 06:18 AM

可選的(?。)InjavascriptsafelyAcccessesnestedPropertiesByRoturningUndUndEfendEfinefinefinefineFanifThainisNullOrundEffined,deskingruntimeErrors.1.itallowssafealowssafeccesstodeeplynestedobjectedobjectproperties

生成可解的雙巧克力謎題:數據結構與算法指南 生成可解的雙巧克力謎題:數據結構與算法指南 Aug 05, 2025 am 08:30 AM

本文深入探討瞭如何為“雙巧克力”(Double-Choco)謎題遊戲自動生成可解謎題。我們將介紹一種高效的數據結構——基於2D網格的單元格對象,該對象包含邊界信息、顏色和狀態。在此基礎上,我們將詳細闡述一種遞歸的塊識別算法(類似於深度優先搜索),以及如何將其整合到迭代式謎題生成流程中,以確保生成的謎題滿足遊戲規則,並具備可解性。文章將提供示例代碼,並討論生成過程中的關鍵考量與優化策略。

如何使用JavaScript從DOM元素中刪除CSS類? 如何使用JavaScript從DOM元素中刪除CSS類? Aug 05, 2025 pm 12:51 PM

使用JavaScript從DOM元素中刪除CSS類最常用且推薦的方法是通過classList屬性的remove()方法。 1.使用element.classList.remove('className')可安全刪除單個或多個類,即使類不存在也不會報錯;2.替代方法是直接操作className屬性並通過字符串替換移除類,但易因正則匹配不准確或空格處理不當引發問題,因此不推薦;3.可通過element.classList.contains()先判斷類是否存在再刪除,但通常非必需;4.classList

JavaScript中的類語法是什麼?它與原型有何關係? JavaScript中的類語法是什麼?它與原型有何關係? Aug 03, 2025 pm 04:11 PM

JavaScript的class語法是原型繼承的語法糖,1.class定義的類本質是函數,方法添加到原型上;2.實例通過原型鏈查找方法;3.static方法屬於類本身;4.extends通過原型鏈實現繼承,底層仍使用prototype機制,class未改變JavaScript原型繼承的本質。

用故事書構建設計系統並進行反應 用故事書構建設計系統並進行反應 Jul 30, 2025 am 05:05 AM

首先使用npxstorybookinit在React項目中安裝並配置Storybook,運行npmrunstorybook啟動本地開發服務器;2.按功能或類型組織組件文件結構,在每個組件目錄下創建對應的.stories.js文件定義不同狀態的展示;3.利用Storybook的Args和Controls系統實現屬性動態調整,方便測試各種交互狀態;4.使用MDX文件編寫包含設計規範、可訪問性說明等內容的富文本文檔,並通過配置支持MDX加載;5.通過theme.js定義設計令牌並在preview.js

See all articles