javascript - HTML 表单中的时间输入验证

标签 javascript html validation forms

我正在尝试将日期验证添加到 HTML 表单中。我希望输入的日期格式为 HH:MM:SS 而不是 HH:MM

如果我以错误的格式输入日期(例如 HH:MM),则警报应显示:

"Date time format should be HH:MM:SS."

请您帮我更正我的代码,使其能够执行此操作吗?
这是我的 JavaScript 代码:

if (date.match(regex pattern)) {
    alert("Valid date");
} else {
    alert("Invalid date: date should be in HH:MM:SS format!");
}

验证输入时间的正确方法是什么?

最佳答案

此测试 HH:MM:SS 模式没有测试真实的小时、分钟和秒:

HTML 代码:

<form onsubmit="return validate()">
    <input type="text" id="date" />
    <input type="submit" />
</form>

Javascript代码:

function validate() {
    var date = document.getElementById("date").value;
    if (date.match(/^[0-9]{2}:[0-9]{2}:[0-9]{2}$/)) {
        alert("Valid date");
    } else {
        alert("Invalide date: dat should be in HH:MM:SS format!");
    }
    return false;
}

您可以在这里在线尝试:http://jsfiddle.net/OscarGarcia/fow3htwz/1/

请记住:未测试秒数和分钟数!有人可能会尝试引入这个错误的时间:43:87:91 并且会(不好)通过该模式!

编辑:测试小时、分钟和秒范围

这段代码就像一个魅力:) http://jsfiddle.net/OscarGarcia/fow3htwz/2/

function validate() {
    var date = document.getElementById("date").value;
    if (date.match(/^([0-1][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/)) {
        alert("Valid date");
    } else {
        alert("Invalide date: dat should be in HH:MM:SS format!");
    }
    return false;
}

使用测试而不是匹配进行新编辑

在线尝试:http://jsfiddle.net/OscarGarcia/fow3htwz/4/

function validate() {
    var date = document.getElementById("date").value;
    var pattern = /^([0-1][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/;
    if (pattern.test(date)) {
        alert("Valid date");
    } else {
        alert("Invalide date: dat should be in HH:MM:SS format!");
    }
    return false;
}

致以诚挚的问候。

关于javascript - HTML 表单中的时间输入验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28743300/

相关文章:

html - 用于管理仪表板界面设计逻辑的 UIKit 3 (getuikit) 可折叠侧边栏

mysql - 在 MySQL 数据库上添加唯一性约束,范围可能吗?

javascript - 使 IE 中的内容无法选择

javascript - 选择对象在 Chrome contentEditable 元素中表现异常

javascript - 如何在我的网站上实现实时更新(使用 Flask)?

javascript - 与 Google map 网站不同,Google map 地理编码器不会找到不是精确地址的地方

html - 调整浏览器文本大小的 CSS 行高

javascript - 根据按钮点击时给定的信息创建一个标签

validation - Grails 命令对象自定义验证消息代码

javascript - AngularJs 使用 Ajax 验证依赖字段