pattern属性
input要素のpattern属性は、正規表現を使った入力規制を指定する属性。HTML5にて新たに導入された属性である。
ブラウザ対応 |
---|
構文
<input pattern="正規表現を使った入力規制">
入力規制に従った入力値でないと、送信できない。
title属性
pattern属性と共に使うtitle属性は、特別な意味を持つ。
<input pattern="正規表現を使った入力規制" title="エラー表記">
入力規制に反し送信できないと、ツールチップなどにメッセージが現れる。そのメッセージに追加する内容を、title属性に指定できる。例えば、半角英数字で入力しなければならない場合、「半角英数字で入力して下さい。」というメッセージを、title属性に指定すると良いだろう。
pattern属性に対応しているinput要素のタイプ(type属性値)
サンプルコード
半角英数字
<input pattern="^[0-9A-Za-z]+$">
<input pattern="^[0-9A-Za-z]+$" title="半角英数字で入力して下さい。">
半角英字8文字
<input pattern="[A-Za-z]{8}">
<input pattern="[A-Za-z]{8}" title="半角英字8文字で入力して下さい。">
サンプル
HTMLソースコード
<form action="sample-input.php" method="post" target="_blank"> <p> <label> 郵便番号: <input name="sampleName" pattern="\d{3}-\d{4}" title="郵便番号は、「123-4567」のように、「3桁の数字、ハイフン(‐)、4桁の数字」の順で入力して下さい。"> </label> </p> <p><input type="submit" value="送信"></p> </form>
実際の表示
サンプルの動作について
「3桁の数字、ハイフン(‐)、4桁の数字」の順で入力しておかないと、送信できない。