如何防止用户使用 JavaScript 和 JQuery 键入超过 2 位数字

How to prevent user to type more than 2 digits using JavaScript and JQuery

本文关键字:数字 JQuery 用户 何防止 JavaScript      更新时间:2023-09-26

我有一个文本框,里面有"从"月份。(仅允许 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;
        }
    });
<input type="text" maxlength="2">

对于 lurs...如果你真的想要一个JS答案..

$("#monthFromTextBox").on('keydown', function() {
    if (this.value.length > 1) {
        return false;
    }
});​
我知道

你要求一个JavaScript解决方案,但我认为你不需要一个。

为什么不简单地限制HTML中的文本框:

<input type="text" maxlength="2" size="10" value="" name="monthFromTextBox">

这样,即使 JavaScript 关闭,你也会被覆盖。

请记住,如果这是一个重要的限制,也要在服务器端验证它。