PHP 全角・半角・英数字 エラー判定
PHPを独学で勉強しているものです、あるサイトを構築中で、入力内容のエラー判定をしたいのですが、どうしても半角英字がエラーではじかれず、どなたかご指導いただけますでしょうか。
PHPのバージョンは5.2で、DBはMySQLでユーザーがある情報を登録できるサイトで、データ型にあわせるため、1以上の半角数字のみ受け付けるようにしたいです。
入力欄は3か所で、$ic0、$ic1、$ic2に格納されています。
入力が全角数字の場合はそれぞれを半角数字に自動変換したいとおもっています。
自作したものは下記の通りです。
宜しくお願い致します。
/*エラー判定*/
$ic_check=$ic0.$ic1.$ic2;
if(preg_match("/^[0-9]+$/", $ic_check)){
if($ic0=="0" || $ic1=="0" || $ic2=="0"){
$error_msg="1以上の数字を入れてください。";
}else{
$error_msg="";
}
}
elseif(preg_match("/^[0-90-9]+$/",$ic_check)){
$ic0=mb_convert_kana($ic0, "n", "Shift_jis");
$ic1=mb_convert_kana($ic1, "n", "Shift_jis");
$ic2=mb_convert_kana($ic2, "n", "Shift_jis");
if($ic0=="0" || $ic1=="0" || $ic2=="0"){
$error_msg="1以上の数字を入れてください。";
}else{
$error_msg="";
}
}
elseif(preg_match("/^[a-zA-Z]+$/",$ic_check)){
$error_msg="半角数字で入力してください";
}
else{
$error_msg="半角数字で入力してください";
}
お礼
有難う御座いました。