如何在javascript中验证时间用户输入,如hhmm到hh:mm?

时间:2013-01-23 04:48:42

标签: javascript html

这是我的javascript示例。怎么可以即兴创作?

function a(id) 
{
    var n=document.getElementById(id);
    var re=/^[0-9]:[0-9] [to] [0-9]:[0-9]*$/;

    if(re.test(n.value))
    {
        n.style.backgroundColor="#52F40C";
    }
    else
    {
        window.alert("Invalid Entry");
        n.style.backgroundColor="#F40C0C";
        n.focus();
        n.value="";
    }
}

我想验证用户输入,例如10:30到12:30。我是一个新人,请建议我。

3 个答案:

答案 0 :(得分:5)

将此正则表达式用于时间格式hh:mm

^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$

我刚刚放置了时间格式。请根据您的要求进行编辑。

答案 1 :(得分:1)

我相信,这就是你要找的东西:

^0[0-9]|1[0-9]|2[0-3]:[0-5][0-9] to 0[0-9]|1[0-9]|2[0-3]:[0-5][0-9]$ 

您可以在此处查看:here

答案 2 :(得分:0)

要检查字符串是否与 24h 格式(范围 00:00 → 23:59)匹配,请使用 RegExp.prototype.test()

// Validate "hh:mm" format
const validHHMMstring = (str) => /^([01]?[0-9]|2[0-3]):[0-5][0-9]$/.test(str);

console.log(validHHMMstring("99:99")); // false
console.log(validHHMMstring("24:00")); // false
console.log(validHHMMstring("23:60")); // false
console.log(validHHMMstring("23:59")); // true
console.log(validHHMMstring("00:00")); // true

使用喜欢:

// Having i.e: <input name="time">
const time = document.querySelector("[name=time]").value.trim();
if (validHHMMstring(time)) {
  // do something, is valid HH:MM
}