フォームのバリデーションを素のPHPで考えてみる
お問い合わせフォームをフレームワークやライブラリなど一切使用せずに、自力で素のPHPだけで完成させよ!
という指令にここ1週間ひーひー言ってました。
しかもお客様へ納品するプログラムという・・・
そこでのTIPSをいくつか。
名前が全角日本語で入力されているかをチェック preg_match("/(?:\xEF\xBD[\xA1-\xBF]|\xEF\xBE[\x80-\x9F])|[\x20-\x7E]/", $name)
ふりがなが入力されているかチェック preg_match("/^[ぁ-ん]+$/u", $kana) //全角ひらがな preg_match("/^[ァ-ヶー]+$/u", $kana) //全角カタカナ
メールアドレスのチェック preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/", $mail)
文字数チェック $length = mb_strlen($content, "UTF-8"); //日本語としての文字数チェック if ($length < 0 || $length > 40) { //1文字以上40文字以内の分岐文 }
とてもマゾいですが、ライブラリやフレームワークがいかに便利かを再認識できました。
参考:http://www.syuhari.jp/blog/archives/418