フォームの入力文字の型をチェック(エンコードで違いあり)

カタカナその他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>';
	}
}