asp.net

服务器控件textbox限制只能输入时间格式

2024-04-24

要实现文本框只能输入时间格式,可以通过以下步骤:

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;
}