HTML input type="number"の使い方を完全ガイド!初心者でもわかる数値入力の基本
生徒
「先生、HTMLで数字だけ入力できるフォームを作りたいんですけど、どうしたらいいですか?」
先生
「それならinputタグのtype属性を'number'に設定すればいいですよ。これで数字だけ入力できるようになります。」
生徒
「数字以外を入力されたらどうなりますか?」
先生
「ブラウザが自動でチェックして、数字以外は入力できなくなります。さらに最小値や最大値も設定できます。」
1. input type="number"とは?
HTMLのinputタグにはいろいろな種類があります。type="number"は、ユーザーが数字だけを入力できるようにするための属性です。これを使うと、メールアドレスや文字列のような文字は入力できなくなり、計算や数量入力に便利です。
2. 基本的な使い方
数字入力の基本はとてもシンプルです。inputタグにtype="number"を設定するだけで、数字だけを受け付けるフォームが作れます。例えば、年齢を入力するフォームは以下のように書けます。
<label for="age">年齢を入力してください:</label>
<input type="number" id="age" name="age">
ブラウザ表示
3. 最小値と最大値を設定する方法
数字入力では、許容する範囲を制限することができます。min属性で最小値、max属性で最大値を設定します。たとえば1から100までの数字だけ入力させたい場合は以下のように書きます。
<label for="score">テストの点数(1〜100):</label>
<input type="number" id="score" name="score" min="1" max="100">
ブラウザ表示
4. ステップ(増減の幅)を設定する
数字入力では、step属性を使うと増減の幅を決めることができます。例えば1ずつ増減させたい場合や0.5単位で増減させたい場合に便利です。
<label for="quantity">数量(0.5単位で増減):</label>
<input type="number" id="quantity" name="quantity" min="0" max="10" step="0.5">
ブラウザ表示
5. プレースホルダーと初期値の設定
placeholder属性は、入力欄にヒントを表示するために使います。また、value属性で初期値を設定することもできます。これを使うと、ユーザーに入力例を示したり、あらかじめ数字を入れておくことができます。
<label for="temperature">温度を入力(℃):</label>
<input type="number" id="temperature" name="temperature" placeholder="例:25" value="20">
ブラウザ表示
6. 数字入力で注意したいポイント
type="number"はとても便利ですが、ブラウザによって挙動が少し違うことがあります。例えば、古いブラウザでは数字以外の入力チェックがされない場合があります。また、ユーザーがキーボードで数字以外を入力しようとしたときにエラー表示になることがあります。そのため、サーバー側でも数字チェックを行うことが安全です。
7. 数値入力フォームの応用例
数値入力フォームは、年齢、数量、点数、金額などさまざまな場面で使われます。例えば、商品購入フォームで数量を入力する場合や、テストの点数入力フォーム、温度や体重を入力するフォームなどです。
<label for="weight">体重(kg):</label>
<input type="number" id="weight" name="weight" min="30" max="200" step="0.1" placeholder="例:60.5">
ブラウザ表示
8. 数字入力とSEO対策
type="number"自体はSEOに直接影響するわけではありませんが、適切なラベルや説明をつけることで、検索エンジンがフォーム内容を理解しやすくなります。labelタグを正しく使い、ユーザーにも検索エンジンにもわかりやすいフォームを作ることがポイントです。
9. 入力チェックを強化する方法
ブラウザだけでなく、JavaScriptを使って入力チェックを行うとより安全です。例えば、入力値が範囲内かどうか、整数か小数かなどを確認できます。これにより、ユーザーが誤った入力をしてもエラーを表示して正しい入力を促せます。
<script>
const input = document.getElementById('age');
input.addEventListener('input', function() {
if(this.value < 0) this.value = 0;
if(this.value > 120) this.value = 120;
});
</script>
ブラウザ表示
10. まとめに向けた学習ポイント
input type="number"は、数字だけを入力させる便利なHTMLタグです。min、max、step、placeholder、valueなどを組み合わせることで、より使いやすく安全なフォームを作ることができます。ラベルを正しく設定し、ブラウザとサーバー両方で入力チェックを行うと安心です。数字入力フォームはECサイトやアンケート、予約フォームなど幅広く応用できます。
まとめ
今回学んだHTMLのinput type="number"は、数字だけを正確に入力させるための重要なフォーム設計の基本です。まず、type="number"を使うことで、ユーザーは数字のみ入力でき、文字や記号の入力を防ぐことができます。さらに、min属性やmax属性を使えば入力可能な範囲を制限でき、step属性を使うことで増減の単位を自由に設定可能です。また、placeholder属性で入力のヒントを表示し、value属性で初期値を設定することで、ユーザーにとってわかりやすく使いやすいフォームを作成できます。 数字入力フォームは、年齢や数量、点数、金額、体重、温度など、さまざまな場面で活用できるため、WebサイトやECサイト、アンケートフォーム、予約システムなど幅広い応用が可能です。ブラウザによって挙動が異なる場合もあるため、サーバー側での入力チェックやJavaScriptによる補助的な検証も組み合わせることで、より安全で正確な数値入力フォームを実現できます。 また、labelタグを正しく使ってフォーム項目を明確に表示することで、ユーザーにとって直感的に理解できるフォームになると同時に、検索エンジンがフォーム内容を正しく理解しやすくなるため、SEOの観点でも有利です。HTMLの基本タグと属性の組み合わせを適切に活用することで、使いやすく、エラーの少ない入力フォームを作成できる点が今回の学習の大きなポイントです。
サンプルプログラムの振り返り
<label for="purchaseQuantity">購入数量(1〜50):</label>
<input type="number" id="purchaseQuantity" name="purchaseQuantity" min="1" max="50" step="1" placeholder="例:3" value="1">
ブラウザ表示
<script>
const quantityInput = document.getElementById('purchaseQuantity');
quantityInput.addEventListener('input', function() {
if(this.value < 1) this.value = 1;
if(this.value > 50) this.value = 50;
});
</script>
ブラウザ表示
生徒
「先生、type='number'で作るフォームって、どんなときに使うのがいいんですか?」
先生
「年齢や点数、数量、金額など、数字だけを正確に入力してほしいときに便利です。例えば商品購入フォームで数量を入力する場合やアンケートで年齢を入力してもらう場合です。」
生徒
「数字以外の文字を間違えて入力されたらどうなりますか?」
先生
「ブラウザが自動で数字以外を弾いてくれますが、ブラウザによって挙動が違うこともあるので、サーバー側でもチェックすることが大切です。さらにJavaScriptを使えば、より安全に範囲チェックや増減単位の制御もできます。」
生徒
「なるほど、placeholderやvalueも組み合わせるとわかりやすいフォームになるんですね。」
先生
「そうです。ユーザーに入力例を示したり、初期値を設定したりすることで、直感的で使いやすいフォームになります。labelタグを正しく使えば、検索エンジンも理解しやすくなります。」
生徒
「ありがとうございます。これで数字入力フォームの作り方がよくわかりました!」
「意味」がわかればWebは楽しい!現役エンジニアが教える、挫折しないためのHTML構造化入門
「Webの仕組み」を正しく操る。HTML5でプロフェッショナルな情報設計の第一歩を。
本講座では、単なるタグの暗記ではなく、「検索エンジンやAIに正しく伝わる情報の構造化」という本質的な技術を学びます。モダンWebの土台であるHTML5を通じて、将来的にWebデザイナーやフロントエンドエンジニアを目指すための「稼げる基礎力」を最短距離で身につけます。
具体的なワークショップ内容と環境
【つくるもの】
自己紹介やポートフォリオの土台となる「構造化されたWebページ」を作成します。見出し、段落、リスト、リンク、画像配置など、商用サイトでも必ず使われる「セマンティックなマークアップ」をゼロから体験してください。
【開発環境】
世界中のプロが愛用するVisual Studio Code (VS Code)を使用します。Emmet(高速入力機能)の設定から、HTMLの文法ミスを自動チェックする拡張機能まで、現場基準の効率的な環境を一緒に構築します。
この60分で得られる3つの武器
Googleから高く評価されるタグの選び方を理解し、検索上位を狙えるサイト構造の作り方を学びます。
プロが使うショートカットや自動補完機能を習得し、タイピングの手間を最小限にする技術を体得します。
画像への代替テキストや適切な階層構造など、誰にとっても使いやすい「優しいWeb」の作り方を伝授します。
※本講座は、将来的にWebデザイナー、コーダー、フロントエンドエンジニアを目指す未経験者のためのエントリー講座です。「モクモク」独自のマンツーマン形式により、コードを1行書くたびに生まれる疑問をその場で解決します。
現役エンジニアが教えるHTML入門
各回少人数・マンツーマン形式で徹底サポート
このセミナーの詳細・お申し込みはこちら