<input pattern=入力パターン>は、入力を許容するパターンを指定する際に使用します。
input要素にpattern属性を指定すると、ユーザーが入力した値が
指定したパターンにマッチしているかどうかをチェックします。
入力値のパターン指定には、正規表現を使用できます。
input要素にpattern属性が指定されている場合、
同時にtitle属性を指定しておくほうが良いでしょう。
title属性の内容には、入力パターンの説明を記述します。
さらに、ユーザーが入力するのに役立つ情報であれば、より多くの情報を含めることもできます。
title属性で指定した内容は、
入力パターンが一致しないことをユーザーに通知するときなどに、
ユーザーエージェントによって使用されます。
また、入力エラー以外の状況でも、
例えば入力欄の上にマウスをのせた際のツールチップ表示などで、
title属性の内容が使用されることがあります。
そのため、あたかもエラーが発生したかのように
title属性の内容を表現しないようにします。
以下のサンプルは、郵便番号の入力欄を想定しています。
郵便番号の適切な入力タイプは
input type=number ではなく、
input type=text です。
ただし、どんなテキストでも入力できるわけではなく、
0-9のみが入力されるようにpattern属性でパターン指定しています。
<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属性でその入力パターンの説明をしています。
ユーザーは、部品番号の入力欄にマウスオーバーすることで入力パターンに関するヒントを得られます。
<label>部品番号:
<input pattern="[0-9][A-Z]{3}" name="part" title="部品番号は数字の後に3つの大文字が続きます。">
</label>
HTMLの仕様では、input要素には終了タグ</input>はありません。