<input pattern=入力パターン>は、入力を許容するパターンを指定する際に使用します。
input要素にpattern属性を指定すると、ユーザーが入力した値が
指定したパターンにマッチしているかどうかをチェックします。
入力値のパターン指定には、正規表現を使用できます。
pattern属性とtitle属性
input要素にpattern属性が指定されている場合、
同時にtitle属性を指定しておくほうが良いでしょう。
title属性の内容には、入力パターンの説明を記述します。
さらに、ユーザーが入力するのに役立つ情報であれば、より多くの情報を含めることもできます。
title属性で指定した内容は、
入力パターンが一致しないことをユーザーに通知するときなどに、
ユーザーエージェントによって使用されます。
また、入力エラー以外の状況でも、
例えば入力欄の上にマウスをのせた際のツールチップ表示などで、
title属性の内容が使用されることがあります。
そのため、あたかもエラーが発生したかのように
title属性の内容を表現しないようにします。
■属性
■使用例
以下のサンプルは、郵便番号の入力欄を想定しています。
郵便番号の適切な入力タイプは
input type=number ではなく、
input type=text です。
ただし、どんなテキストでも入力できるわけではなく、
0-9のみが入力されるようにpattern属性でパターン指定しています。
HTMLソース
<form method="post" action="step2.cgi">
<p><label>郵便番号:
<input name="zip" type="text" size=7 required
pattern="[0-9]{4,7}" title="ハイフン無し、半角数字で、4~7字の範囲で入力します。">
</label></p>
<p><input type="submit"></p>
</form>
ブラウザ上の表示
■使用例
以下のサンプルでは、pattern属性で入力パターンを指定して、title属性でその入力パターンの説明をしています。
ユーザーは、部品番号の入力欄にマウスオーバーすることで入力パターンに関するヒントを得られます。
HTMLソース
<label>部品番号:
<input pattern="[0-9][A-Z]{3}" name="part" title="部品番号は数字の後に3つの大文字が続きます。">
</label>
ブラウザ上の表示
input要素の終了タグについて
HTMLの仕様では、input要素には終了タグ</input>はありません。
■関連項目
- <form> …… フォームを表す
- <label> …… フォーム入力欄のキャプションを表す
- <input> …… フォーム入力欄を表す
- <input type=hidden> …… 非表示データを表す
- <input type=text> …… 1行プレーンテキストの入力欄を表す
- <input type=search> …… 検索用テキストの入力欄を表す
- <input type=tel> …… 電話番号の入力欄を表す
- <input type=url> …… URLの入力欄を表す
- <input type=email> …… 電子メールアドレスの入力欄を表す
- <input type=password> …… パスワードの入力欄を表す
- <input type=date> …… 日付の入力欄を表す
- <input type=month> …… 月の入力欄を表す
- <input type=week> …… 週の入力欄を表す
- <input type=time> …… 時刻の入力欄を表す
- <input type=datetime-local> …… ローカル日時の入力欄を表す
- <input type=number> …… 数値の入力欄を表す
- <input type=range> …… レンジ入力欄を表す
- <input type=color> …… 色の入力欄を表す
- <input type=checkbox> …… チェックボックスの入力欄を表す
- <input type=radio> …… ラジオボタンの入力欄を表す
- <input type=file> …… 選択ファイルを表す
- <input type=submit> …… フォーム送信ボタンを表す
- <input type=image> …… 画像ボタンを表す
- <input type=reset> …… リセットボタンを表す
- <input type=button> …… 汎用ボタンを表す
- <input maxlength=文字数> …… 入力を許容する最大文字数を指定する
- <input minlength=文字数> …… 入力を許容する最小文字数を指定する
- <input size=サイズ> …… 入力欄のサイズを指定する
- <input readonly> …… 読み取り専用にする
- <input required> …… 入力必須にする
- <input multiple> …… 複数選択可にする
- <input pattern=入力パターン> …… 入力を許容するパターンを指定する
- <input min=数値> …… 入力を許容する最小値を指定する
- <input max=数値> …… 入力を許容する最大値を指定する
- <input step=ステップ値> …… 入力のステップ値を指定する
- <input list=データリストID> …… データリストを紐づける
- <input placeholder=入力ヒント> …… 入力の際のヒントを表す
- <button> …… ボタンを表す
- <select> …… セレクトボックスを表す
- <datalist> …… 選択肢のデータリストを表す
- <optgroup> …… 選択肢グループを表す
- <option> …… 選択肢を表す
- <textarea> …… 複数行プレーンテキストの入力欄を表す
- <output> …… 実行結果の出力を表す
- <progress> …… タスクの進行状況を表す
- <meter> …… 既知の範囲内の測定値を表す
- <fieldset> …… フォームグループを表す
- <legend> …… フォームグループのキャプションを表す