カタカナその他2バイト文字の正規表現はエンコードによって異なるので注意が必要。
正規表現の末尾の「u」があるので、UTF8の場合の例です。
// check $error = 0; // email if(preg_match('/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/iD', $_SESSION['f5'])){ }else{ $error = 1; $error_email = '<div class="red">メールアドレスが不正です。</div>'; } if(!preg_match( "/[\@-\~]/" , $_SESSION[f6])) { $error = 1; $error_email = '<div class="red">パスワードが不正です。</div>'; } // password if($_SESSION[f6] != $_SESSION[f6a]){ $error = 1; $error_pw = '<div class="red">パスワードが一致しません。</div>'; } if($_SESSION[f6] == ''){ $error = 1; $error_pw = '<div class="red">パスワードを入力してください。</div>'; } // zip-code 半角数字以外を削除 if($_SESSION[f7] != ''){ $_SESSION[f7] = preg_replace("/ー|−|―/", "-", $_SESSION[f7]); $_SESSION[f7] = preg_replace("/--/", "-", $_SESSION[f7]); $_SESSION[f7] = preg_replace('/[^0-9_-]/', '', $_SESSION[f7]); $_SESSION[f7] = preg_replace('/[^0-9a-zA-Z]/', '', $_SESSION[f7]); } // tel if($_SESSION[f11] != ''){ $_SESSION[f11] = preg_replace("/ー|−|―/", "-", $_SESSION[f11]); $_SESSION[f11] = preg_replace("/--/", "-", $_SESSION[f11]); $_SESSION[f11] = mb_convert_kana($_SESSION[f11], "a", "utf-8"); $_SESSION[f11] = preg_replace('/[^0-9_-]/', '', $_SESSION[f11]); } // 名前カナ $error_name_kana = ''; if($_SESSION[f3] != ''){ if(!preg_match("/^[ァ-ヶー]+$/u",$_SESSION[f3])){ $error = 1; $error_name_kana = '<div class="red">カタカナで入力してください。</div>'; } } if($_SESSION[f4] != ''){ if(!preg_match("/^[ァ-ヶー]+$/u",$_SESSION[f4])){ $error = 1; $error_name_kana = '<div class="red">カタカナで入力してください。</div>'; } } // shop_name if($_SESSION[f13] != ''){ if(!preg_match("/^[ァ-ヶー]+$/u",$_SESSION[f13])){ $error = 1; $error_shopname_kana = '<div class="red">カタカナで入力してください。</div>'; } }