javascript - Jquery 数字字段的最大值验证

标签 javascript jquery responsive-design tablet

我正在从事响应式 Html 设计。有一些数字字段,它们有一些要求。

  1. 控制只取数字
  2. 小数点后只需要两位数
  3. 最大值不大于9999999999
  4. 最大长度为 9,以防浮点值 (999999.99)
  5. 所有验证工作均在按键或按键时进行

我实现了这段代码,它在桌面和其他移动设备上运行良好,但在任何三星选项卡上都不起作用。如果我使用 input type="number"maxlengthmax 值在三星选项卡中不起作用。请帮助我。

代码

$("#txtnumber").keydown(function (event) {
        if (event.shiftKey == true) {
            event.preventDefault();
        }
        if ((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 96 && event.keyCode <= 105) || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 37 || event.keyCode == 39 || event.keyCode == 46 || event.keyCode == 190 || event.keyCode == 110) {
        } else {
            event.preventDefault();
        }
        if (($(this).val().indexOf('.') !== -1 && event.keyCode == 190) || $(this).val().indexOf('.') !== -1 && event.keyCode == 110)//Allow only one time decimal to input
            event.preventDefault();
    });
    $("#txtnumber").keyup(function () {
        var number = ($(this).val().split('.'));
        if (number[1].length > 2) {
            var FNumber = parseFloat($("#txtnumber").val());
            $("#txtnumber").val(FNumber.toFixed(2));
        }    

    });

JSFiddle URL

最佳答案

这是一个使用 jquery 的示例,

    $("#txtnumber").on('keyup keydown', function () {
      if (isNaN(($(this).val()))) {
        $(this).val($(this).val().substring(0, ($(this).val().length - 1)));
      }
      if ($(this).val().length > 10 && $(this).val().indexOf('.') == -1) {
        $(this).val($(this).val().substring(0, 10));            
      }
      if ($(this).val().indexOf('.') !== -1 && $(this).val().length > 9) {
        $(this).val($(this).val().substring(0, 9));
      }
      if (($(this).val().indexOf('.') !== -1)) {
        var decimal = $(this).val().split('.');
        if (decimal[1].length > 2) { 
            $(this).val($(this).val().substring(0, ($(this).val().length - 1)));
        }
      }
    });

Updated Fiddle

关于javascript - Jquery 数字字段的最大值验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37556960/

相关文章:

javascript - 使用 JavaScript 调整图像大小并保存到磁盘

html - 不同的图像大小取决于视口(viewport)

javascript - 单击时更改背景图像

javascript - 如何在javascript中获取mysql数据以进行动态表单添加

javascript - 带有提交按钮作为子项的按钮

javascript - XMLHttpRequest - 相对路径还是绝对路径?

jquery - GON - 在 js.erb + Rails 5 中没有获得值(value)

html - 如何从移动 View 中删除数据库

javascript - 需要连接数组(不知道需要多少)(js)

php - 如何在同一页面中读取/编辑/保存多个表单的信息?