为什么 html 输入类型为“数字"?允许在字段中输入字母“e"?

2022-01-17 00:00:00 input numbers html

I have the following html5 input element:

<input type="number">

Why does this input allow for the character 'e' to be entered in the input field? No other alphabet character is able to be entered (as expected)

Using chrome v. 44.0.2403.107

Example below to see what I mean.

<input type="number">

解决方案

Because that's exactly how the spec says it should work. The number input can accept floating-point numbers, including negative symbols and the e or E character (where the exponent is the number after the e or E):

A floating-point number consists of the following parts, in exactly the following order:

  1. Optionally, the first character may be a "-" character.
  2. One or more characters in the range "0—9".
  3. Optionally, the following parts, in exactly the following order:

    1. a "." character
    2. one or more characters in the range "0—9"

  4. Optionally, the following parts, in exactly the following order:

    1. a "e" character or "E" character
    2. optionally, a "-" character or "+" character
    3. One or more characters in the range "0—9".

相关文章