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

dan*_*die 3 javascript validation jquery

我有一个文本框,其中包含"From"月份.(仅允许1到12之间的值)

我怎么能阻止用户,当他们尝试输入第三个字符时,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;
        }
    });
Run Code Online (Sandbox Code Playgroud)

Esa*_*ija 17

<input type="text" maxlength="2">
Run Code Online (Sandbox Code Playgroud)

  • rlemon在开玩笑 (2认同)

rle*_*mon 8

对于luls ...如果你真的想要JS答案..

$("#monthFromTextBox").on('keydown', function() {
    if (this.value.length > 1) {
        return false;
    }
});?
Run Code Online (Sandbox Code Playgroud)

  • 不幸的是,这是错误的 - 这也阻止了用户在达到最大长度后用删除或退格键删除*字符,这显然是不可取的. (2认同)