phpでフォームを作成する場合、バリデーションの処理は必要だと思います。
数字チェック、英字チェック、英数字チェックなど色々なパターンのチェックがあります。
いつも忘れてしまうので、phpの正規表現で「preg_match()」を使用した英数字チェックをする方法をメモします。
※変数内の全ての文字を判定しています。
※半角英数字の場合です。
■ 数値チェック
// 数字チェック if (preg_match('/^[0-9]+$/', $data)) { // 数字の場合 } else { // 数字ではない場合 }
■ 英字チェック
// 英字チェック if (preg_match('/^[a-zA-Z]+$/', $data)) { // 英字の場合 } else { // 英字ではない場合 }
■ 英数字チェック
// 英数字チェック if (preg_match('/^[a-zA-Z0-9]+$/', $data)) { // 英数字の場合 } else { // 英数字ではない場合 }
また、関数にしておくと値を渡すだけなので簡単に使えると思います。
■ 上記のチェックを関数にした場合
// 数字チェック function is_num($data) { if (preg_match('/^[0-9]+$/', $data)) { // 数字の場合 return true; } else { // 数字ではない場合 return false; } } // 英字チェック function is_alpha($data) { if (preg_match('/^[a-zA-Z]+$/', $data)) { // 英字の場合 return true; } else { // 英字ではない場合 return false; } } // 英数字チェック function is_alphanum($data) { if (preg_match('/^[a-zA-Z0-9]+$/', $data)) { // 英数字の場合 return true; } else { // 英数字ではない場合 return false; } }
他にも色々なパターンを組み合わせることができるので、自由にチェック内容を作成できると思います。