input要素の type属性で type="number" を指定すると、 数値の入力欄が作成されます。
HTML source
<input type="number">
name属性は入力欄に名前を付ける属性ですが、form要素でデータが送信される際、name属性で指定した名前と、入力された値が一組になって送信されます。
ユーザーは空文字を入力することができます。 入力必須にする場合には、required属性を併用してください。
type="number" の場合、step属性の初期値は 1 となります。
Sample: <input type="number" value="42">
Sample: <input type="number" placeholder="入力してください">
Sample1: <input type="number"><br>
Sample2: <input type="number" step="0.1"><br>
Sample3: <input type="number" step="10">
フォームに入力する値といえば、電話番号や年齢、クレジットカード番号など様々ありますが、数字を使っているからといってむやみに <input type="number">要素を使うと問題が起きることがあるようです。
<input type="number"<要素は増えたり減ったりする数値に使うべきであって、クレジットカード番号のような 1桁違うだけで正しくなくなってしまう数値には適していないようです。
<input type="number"> 要素を使うと、ブラウザによりますが、上矢印と下矢印の UIがデフォルトで表示されますので、この UIを使う場合があるかどうかが判断基準となります。
また、キーボードの上矢印キーと下矢印キーで数値の増減ができるため、クレジットカード番号に <input type="number">要素を使ってしまうと、誤って矢印キーに触れてしまった場合に値が変化してしまう恐れもあります。
桁数が多くなると、e+26 のような指数表記になってしまいます。
一度、指数表記に変換されてしまうと、矢印キーで値の増減が出来なくなります。実際に18桁を超えるような数値を入力することはないかもしれませんが、期待されている動作と違うことは確かです。