程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了HTML文本输入仅允许数字输入大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决HTML文本输入仅允许数字输入?

开发过程中遇到HTML文本输入仅允许数字输入的问题如何解决?下面主要结合日常开发的经验,给出你关于HTML文本输入仅允许数字输入的解决方法建议,希望对你解决HTML文本输入仅允许数字输入有所启发或帮助;

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

JavaScript

您可以<input>使用以下seTinputFilter功能过滤文本的输入值(支持copyPaste,Drag+Drop,键盘快捷键,上下文菜单操作,不可键入的键,插入标记的位置,不同的键盘布局以及IE9以后的所有浏览器 :

// ReStricts input for the given textBox to the given inputFilter function.
function seTinputFilter(textBox, inputFilter) {
  ["input", "keydown", "keyup", "mousedown", "mouseup", "SELEct", "contextmenu", "drop"].forEach(function(event) {
    textBox.addEventListener(event, 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 = "";
      }
    });
  });
}

现在,您可以使用该seTinputFilter功能来安装输入过滤器:

seTinputFilter(document.getElementByID("myTextBox"), function(value) {
  return /^\d*\.?\d*$/.test(value); // Allow digits and '.' only, using a RegExp
});

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

还有一个jquery版本。

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

@H_197_34@
  • 大多数浏览器仅在提交表单时验证输入,而在键入时不验证输入。
  • 大多数移动浏览器不支持step,@H_986_7@min和@H_986_7@max属性。
  • Chrome(版本71.0.3578.98)仍然允许用户输入字符eE输入字段。
  • firefox(版本64.0)和Edge(EdgeHTML版本17.17134)仍然允许用户在字段中输入 任何 文本。
  • 解决方法

    有没有一种快速的方法来将HTML文本输入(<input type=text />)设置为仅允许数字键击(加’。’)?

    大佬总结

    以上是大佬教程为你收集整理的HTML文本输入仅允许数字输入全部内容,希望文章能够帮你解决HTML文本输入仅允许数字输入所遇到的程序开发问题。

    如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

    本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
    如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。