当前位置: 首页 > 面试题库 >

防止在输入类型编号中键入非数字

西门庆
2023-03-14
问题内容

如果输入不是有效数字,则使用<inputtype=number>将导致this.value事件侦听器内部返回空字符串。

但是,无效字符仍显示在输入中。

有什么方法可以从事件侦听器中获取实际 显示 的值,包括无效字符?

我的最终目标是防止用户在字段中实际键入任何非数字字符。我需要使用type=number以便移动设备使用数字虚拟键盘。我的目标是做这样的事情this.value= this.value.replace(/[^0-9.]/g,"")keyupkeypress,但这并不因为如果无效字符键入工作,从阅读this.value的回报""


问题答案:

如果您不喜欢传入键值,请尝试阻止默认行为:

document.querySelector("input").addEventListener("keypress", function (evt) {
    if (evt.which < 48 || evt.which > 57)
    {
        evt.preventDefault();
    }
});


 类似资料:
  • 问题内容: 我有一个简单的输入数字,例如: 尝试输入数字或字母“ e”以外的任何内容时,它不起作用,但是当我输入字母“ e”时,它起作用。 我检查了w3.org规范,它清楚地表明可以使用常规表示法(例如:10.2)或科学表示法(例如:1e2)来键入浮点数。 所以我的问题是:有没有一种方法可以防止用户键入e字母和点。用另一种方式说:有没有一种方法可以使输入数字 只 接受 整数 ? 我有一个用Angu

  • 我认为tht有以下要求: 超文本标记语言输入必须是 以编程方式设置该输入的模型属性值,后面有2个小数 允许用户输入修改该值 现在,以编程方式将值设置为,以便在输入中显示该值是复杂的: 返回 返回一个字符串,AngularJS在尝试设置该值时失败 有什么想法吗?

  • 我有一个脚本,可以防止用户在输入中输入希伯来语,并强制用户输入英语 我想通过以下方式获得机会: 我想阻止用户键入英语,并强制用户键入希伯来语。 以下是HTML: 以下是Javascript(jquery 1.9.1): 希伯来文字符从1488年到1522年。看这里<但是我不能让它们正常工作。 你知道怎么处理吗? 这里有一个现场直播:JSfiddle

  • 问题内容: 如何利用ng-message作为数字类型?ngMessage是否支持max和min属性?如果可以,怎么办? 演示链接 来自角度文档的示例链接 问题答案: 作为模块正式引入的版本,因此您需要修复以下问题: 使用版本或更高版本(现在是最新版本)。 包含在HTML中(这是一个单独的脚本)。 声明为模块/应用程序的依赖项。 另请参 见此简短演示 。

  • 本文向大家介绍iOS 键盘输入限制(只能输入字母,数字,禁止输入特殊符号),包括了iOS 键盘输入限制(只能输入字母,数字,禁止输入特殊符号)的使用技巧和注意事项,需要的朋友参考一下 首先我们要设置一下键盘类型 textFiled.keyboardType = UIKeyboardTypeASCIICapable;  (根据个人喜好设置键盘) 然后我们要设置textfield的代理<UITextF

  • 我想在html表单中将用户输入限制为正数。 我知道您可以设置min=“0”,但是可以通过手动输入负数绕过此设置。 有没有其他方法可以解决这个问题而不用编写验证函数?