我正在尝试使用正则表达式创建一个javascript函数来验证并格式化24小时的时间,接受没有分号的时间并删除空格。
例子:
如果用户输入"0100"
," 100"
或"100 "
,则会被接受,但格式为"01:00"
如果用户键入"01:00"
,则会被接受,无需格式化。
感谢。
答案 0 :(得分:21)
function formatTime(time) {
var result = false, m;
var re = /^\s*([01]?\d|2[0-3]):?([0-5]\d)\s*$/;
if ((m = time.match(re))) {
result = (m[1].length === 2 ? "" : "0") + m[1] + ":" + m[2];
}
return result;
}
alert(formatTime(" 1:00"));
alert(formatTime("1:00 "));
alert(formatTime("1:00"));
alert(formatTime("2100"));
alert(formatTime("90:00")); // false
任何使用无效输入格式的调用都将返回false。