您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何使用jQuery在HTML输入框中仅允许数字(0-9)?

如何使用jQuery在HTML输入框中仅允许数字(0-9)?

这是更新的答案。下面的注释指的是一个旧版本,其中充斥着密钥代码

对此没有原生的jQuery实现,但是您可以<input>使用以下inputFilter插件过滤文本的输入值(支持Copy + Paste,Drag + Drop,键盘快捷键,上下文菜单操作,不可键入的键,插入符号位置,其他键盘布局以及IE 9以后的所有浏览器):

// Restricts input for the set of matched elements to the given inputFilter function.
(function($) {
  $.fn.inputFilter = function(inputFilter) {
    return this.on("input keydown keyup mousedown mouseup select contextmenu drop", function() {
      if (inputFilter(this.value)) {
        this.oldValue = this.value;
        this.oldSelectionStart = this.selectionStart;
        this.oldSelectionEnd = this.selectionEnd;
      } else if (this.hasOwnProperty("oldValue")) {
        this.value = this.oldValue;
        this.setSelectionRange(this.oldSelectionStart, this.oldSelectionEnd);
      } else {
        this.value = "";
      }
    });
  };
}(jQuery));

您现在可以使用inputFilter插件安装输入过滤器:

$(document).ready(function() {
  $("#myText@R_458_2419@").inputFilter(function(value) {
    return /^\d*$/.test(value);    // Allow digits only, using a RegExp
  });
});

有关更多输入过滤器示例,请参见JSFiddle演示。另请注意,您仍然

实际上并不需要jQuery,您也可以使用纯JavaScript做同样的事情。看到这个答案

HTML 5提供了一个本机解决方<input type="number">(请参见规范),但是请注意,浏览器支持有所不同:

在w3schools.com上尝试一下。

JS 2022/1/1 18:20:25 有392人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶