こんにちは。
HTMLやPHPを用いて情報登録フォームなどを作成する際、
入力情報に制限をつけて正確な情報入力をうながす方法があります。
今回は主にinputにつけるtype属性とPHPのif文で使用するpreg_match関数を、
それぞれ一覧でご紹介します。
inputのtype属性
inputタグはそもそも<form></form>
に含まれるタグで、
入力や送信をコントロールします。
type属性をつけることでさらに細かい情報の種類を指定することが可能になります。
text・・・1行の短いテキストボックスを作成することができます。
search・・・検索用のテキストボックスを作成することができます。
url・・・URL用のテキストボックスを作成することができます。
password・・・パスワード用のテキストボックスを作成することができます。入力した文字がアスタリスクに変換されます。
datetime・・・UTC(協定世界時)の日時を入力する欄を作成することができます。
date・・・日付を入力する欄を作成することができます。
checkbox・・・チェックボックスを作成することができます。選択肢の中から複数のチェックボックスを選択することができます。
radio・・・ラジオボタンを作成することができます。複数の選択肢の中から1つだけ選ぶことができるもので、チェックボックスとは異なります。
submit・・・送信ボタンを作成することができます。接続済みのデータベースにこれまで入力した情報を送信します。
reset・・・リセットボタンを作成することができます。
hidden・・・画面上には表示されない隠されたデータをサーバーに送信する際に使用します。
preg_match関数
入力された文字データが妥当なものか(正規表現)を判断する際に使われます。
数値
入力された文字列が0から9の数字のみで構成されているかをチェックすることができます。
if (preg_match('/^[0-9]+$/', $data))
英字
入力された文字列がaからzまたはAからZの英字小文字・大文字のみで構成されているかをチェックすることができます。
if (preg_match('/^[a-zA-Z]+$/', $data))
メールアドレス
入力された文字列が0から9の数字またはaからzの英字と@の組み合わせで構成されているかどうかをチェックすることができます。
if (preg_match('|^[0-9a-z_./?-]+@([0-9a-z-]+\.)+[0-9a-z-]+$|', $mail))
日本語
入力された文字列がひらがな、カタカナ、漢字で構成されているかをチェックすることができます。
mb_regex_encoding("UTF-8");
if (preg_match("/^[ぁ-んァ-ヶー一-龠]+$/u",$name))
まとめ
以上、今回はform作成の際に用いられるinputのtype属性とpreg_match関数の代表的なものをご紹介しました。
ここで取り上げたもの以外にも種類がありますので、用途にあったものを調べて使ってみてはいかがでしょうか。