HTMLのinput type="number":ライブテスター

HTML input numberテスター

HTML input type=number:min、max、step、バリデーション | We.Inc

input type=numberをその場でテストできます。min、max、ステップを設定し、valueAsNumberとすべての有効性フラグを確認し、スピナーを消す方法と、inputmode=numericのほうが適した場面を学べます。

input type="number"は、年齢、価格、個数などの実際の数量に使います。minとmaxで許可する範囲を、stepで増分(デフォルトは1、自由な小数ならany)を設定し、valueAsNumberは数値を返し、欄が空ならNaNを返します。カード番号や郵便番号には、代わりにtype="text"とinputmode="numeric"を使いましょう。

数値入力欄の属性

数値入力欄はシンプルに見えますが、ステップ、空の値、スピナーに関するルールでつまずきがちです。テスターで属性を設定し、入力欄に何でも入力すると、生の値、解析された数値、各有効性フラグが入力に合わせて更新されます。

よくある質問

数値入力欄が1.5を受け付けないのはなぜですか?

デフォルトのステップは1なので、ステップの基準が整数でない場合を除き、整数だけが有効です。小数を受け付けるには、step="0.5"、step="0.01"、step="any"のいずれかを追加します。

空の欄に対してvalueAsNumberは何を返しますか?

NaNです。同じ場合、値のプロパティは空文字列を返します。valueAsNumberに値を設定して、欄に数値を書き戻すこともできます。

数値入力欄の矢印を消すには?

入力欄にappearance: textfieldを設定します。appearanceは見た目を変えるだけなので、上下の矢印キーでは引き続き値が変わります。WebKitとBlinkは疑似要素でもスピンボタンを描画するので、下の例ではそれも非表示にしています。

type=numberとinputmode=numericのどちらを使うべきですか?

値が実際の数量で、スピナーが役立つ場合はtype="number"を使います。カード番号や郵便番号のような数字の文字列は、量ではなく識別子なので、type="text"にinputmode="numeric"とパターンを組み合わせて使います。

空の数値入力欄は有効ですか?

必須属性(required)がなければ有効です。数値入力欄は、空であるか、有効な数値を1つ含んでいれば有効とみなされます。

バリデーションの仕組み

アクセシビリティとモバイル

どの数値にどの入力欄を使うか

type=numberと数字用テキスト欄の比較

数値入力欄の例

小数のステップと無効時のスタイルを持つ価格欄

4.999や負の数を入力すると、値がステップか最小値に違反するため、枠線が赤くなります。

スピンボタンを非表示にする

appearance: textfieldで矢印が消え、WebKitの疑似要素の指定で、まだ矢印を描画するブラウザーにも対応します。矢印キーは引き続き使えます。

スピナーのない数字専用の入力欄

inputmodeで数字キーボードを促し、パターンで5桁かを確認し、先頭のゼロもそのまま残ります。

JavaScriptで数値を安全に読み取る

valueAsNumberで文字列の解析を避け、有効性のチェックで範囲外やステップに合わない値を検出します。

数値入力テスター

テスト用の入力欄

ブラウザーが報告する内容

(空文字列)

有効

無効

ブラウザーのメッセージ

HTMLをコピー

無料で始める · クレジットカード不要

関連: ガイド|Webマーケティングと集客を学ぶ

製品

ご利用いただける方

機能

リソース

会社情報

サイトマップを見る