phpでフォームを作成する場合、バリデーションの処理は必要だと思います。
数字チェック、英字チェック、英数字チェックなど色々なパターンのチェックがあります。
いつも忘れてしまうので、phpの正規表現で「preg_match()」を使用した英数字チェックをする方法をメモします。
※変数内の全ての文字を判定しています。
※半角英数字の場合です。
■ 数値チェック
1 2 3 4 5 6 7 | // 数字チェック if (preg_match( '/^[0-9]+$/' , $data )) { // 数字の場合 } else { // 数字ではない場合 } |
■ 英字チェック
1 2 3 4 5 6 7 | // 英字チェック if (preg_match( '/^[a-zA-Z]+$/' , $data )) { // 英字の場合 } else { // 英字ではない場合 } |
■ 英数字チェック
1 2 3 4 5 6 7 | // 英数字チェック if (preg_match( '/^[a-zA-Z0-9]+$/' , $data )) { // 英数字の場合 } else { // 英数字ではない場合 } |
また、関数にしておくと値を渡すだけなので簡単に使えると思います。
■ 上記のチェックを関数にした場合
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | // 数字チェック 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; } } |
他にも色々なパターンを組み合わせることができるので、自由にチェック内容を作成できると思います。