我必须建立一个带有时间和分钟输入文本字段的HTML表单。 就像是:
Name :[Foo]
Surname :[Bar]
Task :[Spam]
Hours Minutes :[00:15] < - 输入文本。
我该如何帮助/验证/强制用户使用Javascript 以唯一允许的HH:mm格式编译小时和分钟值?*
有效时间范围:从00:00到23:59
*我无法使用Jquery,当然我会仔细检查提交的值服务器端
发布于 2018-03-21 14:31:53
要么使用以下正则表达式:
^([0-1]?[0-9]|2[0-4]):([0-5][0-9])(:[0-5][0-9])?$
或者手动,但我强烈建议RegExp :)一个简单的例子:
<SCRIPT TYPE="text/JavaScript">
function validateHhMm(inputField) {
var isValid = /^([0-1]?[0-9]|2[0-4]):([0-5][0-9])(:[0-5][0-9])?$/.test(inputField.value);
if (isValid) {
inputField.style.backgroundColor = '#bfa';
} else {
inputField.style.backgroundColor = '#fba';
}
return isValid;
}
</SCRIPT>
<FORM METHOD="POST">
<input type="text" onchange="validateHhMm(this);" />
</FORM>
发布于 2018-03-21 15:24:49
第一个答案的RegExp与OP的查询不正确匹配。
^([0-1]?[0-9]|2[0-4]):([0-5][0-9])(:[0-5][0-9])?$
应该
^([0-1][0-9]|2[0-3]):([0-5][0-9])$
符合00-19或20-23:00-59
OP要求在00:00 - 23:59范围内验证HH:MM
没有秒。24:00不应有效。用于输入小时和分钟的两位数字。
https://stackoverflow.com/questions/-100007707
复制相似问题