我有一个包含“From”月份的文本框。 (仅允许1到12之间的值)
我如何阻止用户,以便当他们尝试键入第3个字符时,javascript会阻止用户输入超过2位的数字?
这是我到目前为止所尝试的但是我无法得到理想的结果(以下脚本根本不起作用)
$("#monthFromTextBox").bind("change", function (event) {
var regex = /^\d{1,2}$/g;
var monthFrom = $(this).find(".monthFrom").text();
var yearFrom = $(this).find(".yearFrom").text();
var monthTo = $(this).find(".monthTo").text();
var yearTo = $(this).find(".yearTo").text();
// Allow only 1 or 2 digits only
if (regex.test(monthFrom) === false) {
event.preventDefault();
// alert("Month From value should have 1 or 2 digits only");
return false;
}
});
答案 0 :(得分:17)
<input type="text" maxlength="2">
答案 1 :(得分:7)
对于luls ...如果你真的想要JS答案..
$("#monthFromTextBox").on('keydown', function() {
if (this.value.length > 1) {
return false;
}
});
答案 2 :(得分:1)
我知道您要求使用JavaScript解决方案,但我认为您不需要。
为什么不简单地限制HTML中的文本框:
<input type="text" maxlength="2" size="10" value="" name="monthFromTextBox">
这样,即使JavaScript已关闭,您也会受到保护。
如果这是一个重要的限制,请记住在服务器端进行验证。