为什么 type="number" 接受 'e' 字符?

cur*_*ity 1 html input

这里有人可以解释为什么输入type=number接受e字符吗?它真的让我感到困惑,我想知道它。

在此处输入图片说明

Obs*_*Age 9

因为除了字母之外e,还有一个数字 e(代表指数)。

如果你真的想排除这些,你可以通过定位字符 code 来阻止它们,如果输入字符,则69阻止keypress事件的默认行为preventDefault():

document.querySelector("input").addEventListener("keydown", function(event) {
  if (event.which === 69) {
    event.preventDefault();
  }
});
Run Code Online (Sandbox Code Playgroud)
<input type="number">
Run Code Online (Sandbox Code Playgroud)

编辑将事件和条件修改为event.preventDefault().


BM-*_*BM- 8

e 是指数。这允许用户输入一个数字,例如4e34×10 3。

尝试4e3在框中输入,然后按向上步骤按钮:在 Chrome 中,这将更改为显示4001