如何使用 HTML 將日期輸入型別設定為 dd-mm-yyyy 格式?


使用 HTML 將日期輸入型別設定為 dd-mm-yyyy 格式。瞭解一些簡單的技巧,自定義日期格式,以獲得更好的使用者體驗和資料一致性。

建立直觀的 Web 表單對於增強使用者體驗至關重要,尤其是在日期輸入方面。儘管 HTML5 引入了<input type="date"> 功能以方便日期選擇,但它通常將日期格式化為 YYYY-MM-DD。這對於偏好 DD-MM-YYYY 格式的地區的使用者來說可能不方便。本文將指導您使用 HTML、JavaScript 和外部庫實現 DD-MM-YYYY 格式的日期輸入的各種方法。

實現 DD-MM-YYYY 格式的方法

為了實現符合 DD-MM-YYYY 標準的日期輸入,請考慮以下方法

讓我們透過實際示例探索每種方法。

分別使用日、月、年輸入欄位

一種簡單的方法是建立三個不同的輸入欄位——分別用於日、月和年。這允許更精確和靈活地輸入日期。

示例

此示例包含三個輸入欄位,供使用者分別輸入日、月和年。提交後,警報將以 DD-MM-YYYY 格式顯示日期。此方法允許單獨驗證,這對於確保輸入日期的準確性至關重要。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Date Input Example</title>
</head>
<body>
    <form id="dateForm">
        <label for="day">Day:</label>
        <input type="number" id="day" name="day" min="1" max="31" required>

        <label for="month">Month:</label>
        <input type="number" id="month" name="month" min="1" max="12" required>

        <label for="year">Year:</label>
        <input type="number" id="year" name="year" min="1900" max="2100" required>

        <button type="submit">Submit</button>
    </form>

    <script>
        document.getElementById("dateForm").addEventListener("submit", function(event) {
            event.preventDefault();
            const day = document.getElementById("day").value;
            const month = document.getElementById("month").value;
            const year = document.getElementById("year").value;
            alert(`Date entered: ${day}-${month}-${year}`);
        });
    </script>
</body>
</html>

輸出

Date Fromat DD-MM-YYYY

基於 JavaScript 的輸入格式化

另一種策略是使用單個文字輸入和 JavaScript 來格式化日期。這還可以包括驗證檢查以確保輸入的日期有效。

示例

在這種情況下,使用者在一個文字欄位中輸入日期。然後,JavaScript 將日、月和年分開,並檢查每個部分是否符合預期格式。此方法增強了使用者互動,同時確保了資料輸入的準確性。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Date Input with JavaScript</title>
</head>
<body>
    <form id="dateForm">
        <label for="date">Enter Date (DD-MM-YYYY):</label>
        <input type="text" id="date" name="date" placeholder="DD-MM-YYYY" required>
        <button type="submit">Submit</button>
    </form>

    <script>
        document.getElementById("dateForm").addEventListener("submit", function(event) {
            event.preventDefault();
            const dateInput = document.getElementById("date").value;
            const [day, month, year] = dateInput.split('-');

            // Basic validation
            if(day.length === 2 && month.length === 2 && year.length === 4) {
                alert(`Date entered: ${day}-${month}-${year}`);
            } else {
                alert('Please enter a valid date in DD-MM-YYYY format.');
            }
        });
    </script>
</body>
</html>

輸出

Date Fromat DD-MM-YYYY

使用第三方日期選擇器庫

整合第三方庫可以顯著改善日期選擇的介面。像 jQuery UI 或 Flatpickr 這樣的庫可以輕鬆自定義格式。

示例

此示例使用 Flatpickr 庫建立一個日期選擇器,允許 DD-MM-YYYY 輸入。透過設定 dateFormat,開發人員可以確保使用者使用與他們偏好一致的介面。allowInput 功能還提供了手動輸入日期的選項。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/flatpickr/dist/flatpickr.min.css">
    <title>Date Picker Example</title>
</head>
<body>
    <label for="datePicker">Select Date (DD-MM-YYYY):</label>
    <input type="text" id="datePicker" placeholder="DD-MM-YYYY" required>

    <script src="https://cdn.jsdelivr.net/npm/flatpickr"></script>
    <script>
        flatpickr("#datePicker", {
            dateFormat: "d-m-Y",
            allowInput: true
        });
    </script>
</body>
</html>

輸出

Date Fromat DD-MM-YYYY

結論

雖然 HTML <input type="date"> 提供了一種簡單的方法來輸入日期,但它在滿足各種格式需求方面常常力不從心。透過採用單獨的輸入欄位、使用 JavaScript 進行驗證或利用外部庫,開發人員可以建立使用者友好的表單,這些表單以 DD-MM-YYYY 格式接受日期。

Arunachalam K
Arunachalam K

軟體工程師

更新於: 2024 年 9 月 26 日

626 次瀏覽

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.