要实现文本框只能输入时间格式,可以通过以下步骤:
1. 在文本框的属性中设置输入格式为时间格式。
2. 给文本框绑定onkeydown事件,通过事件参数e获取当前按下的键和文本框的值。
3. 使用正则表达式判断文本框的值是否符合时间格式,如果不符合则阻止键入。
以下是示例代码:
HTML:
<input type="text" id="timeInput" onkeydown="return onlyTime(event)">
JavaScript:
function onlyTime(e) {
var keyCode = e.keyCode || e.which; // 获取键码
var timeInput = document.getElementById("timeInput");
var timeValue = timeInput.value + String.fromCharCode(keyCode); // 获取文本框的值和当前按下的键
// 判断输入的值是否符合时间格式(格式为 hh:mm:ss)
var regex = /^([0-1][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9])$/;
if (!regex.test(timeValue)) { e.preventDefault(); // 阻止键入 return false;
}
return true;
}