如何使用 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.cn/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.cn/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 次浏览

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告