HTML で input
要素の type
属性に number
を指定したとき、数値以外で入力できる値として
-
+
.
以外に、実は e
も入力できます。
これは(おそらく)べき乗の表現にも対応しようとした処置です(例:1e+2
は100
を表す)。
JavaScript でも 1000000000000000000000
以降は 1e+21
といった形で表現されたりしますしね。
ただ、困ったことにこれだと場合によってはサーバーサイドでの値のバリデーション等でコケる可能性があるので、フロントエンドで e
を入力できないようにしたほうが親切かもしれません。
自分は普段 Vue を使っているので、以下のように書くことで e
を入力できないようにできたので便利だな〜と思ったりました。
<input type="number" @keydown.69.prevent>
以上です。