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;
}
}
他にも色々なパターンを組み合わせることができるので、自由にチェック内容を作成できると思います。