Rails JavaScript 验证以启用退格键

rails javascript validate to enable backspace

本文关键字:启用 JavaScript 验证 Rails      更新时间:2023-09-26

我有以下代码。我只想验证数字。

    $('.numericonly').keypress(function (e) {
     var regex = new RegExp("^[0-9]+$");
     var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);
     if (regex.test(str)) {
        return true;
     }
     e.preventDefault();
     return false;
   });

当我使用上面的代码时,退格键和制表符不再起作用。任何人都可以帮我启用退格键和制表符吗?

我从我的导师那里找到了答案,他们在这里:

$('.numericonly').keypress(function (e) {
    var regex = new RegExp("^[0-9]+$");
    var key = e.keyCode || e.which
    // Don't validate the input if below arrow, delete and backspace keys were pressed 
    if(key == 8 || key == 9) {
        return;
    }
    var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);
    if (regex.test(str)) {
        return true;
    }
    e.preventDefault();
    return false;
});

上面的代码在Firefox和Chrome中工作。