つい先日の出来事です。
数値入力用のテキストボックス(input type=”number”)に入力するときに、
ひらがなやアルファベットを入れようとしたらどうなるのかと思い、
ガチャガチャとキーを叩きました。
すると、アルファベットの”e”が入力できてしまったのです。
eだけ入れてみても最後はnullに変換されてしまうようで、バグかな?と思いました。
でもこれ、仕様でした。
eは指数を表す記号だったのです。要は+、-と同じ扱いなんですね。
昔、高校の数学で出てきたような、情報処理試験で出てきたようなはるか過去の概念だったのですっかり忘れていました・・・
そういえばエクセルでも桁数の多い数値を入れると指数表記になりますよね。
指数なんか使わないし、誤入力を避けたいという方のために、eを許可しないようにすることもできます。
inputタグにonkeydown属性を付与してあげます。
onkeydown=”return event.keyCode !== 69″
これでOKです。