とあるセクシーなデータ分析官

を目指す渋谷で働くソーシャルゲーム分析者の卵

フォームのバリデーションを素の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