PHP
require_once(dirname(__FILE__).'/phpdata.php'); //設定ファイル 読み込み
PHP
//文字コードチェック UTF-8またはShiftJISでないときは強制終了
if( ! mb_check_encoding($value,"UTF-8") && ! mb_check_encoding($value,"SJIS-win") ){
header('Content-Type: text/html; charset=UTF-8');
echo "<p>文字コードが異なります。処理を中断。</p>\n";
exit();
}
PHP
$input_moji = mb_convert_kana($input_moji, "R", "utf-8"); //英数字を全角にする
$input_mail = mb_convert_kana($input_mail, "n", "utf-8"); //全角数字を半角にする
$input_eimoji = mb_convert_kana($input_eimoji, "R", "utf-8"); //英数半角を全角にする
PHP
<?php
$str1 = 'ABC123ABC123';
// r:全角英字を半角英字に変換
echo mb_convert_kana($str1, 'r'); // 出力:ABC123ABC123
// R:半角英字を全角英字に変換
echo mb_convert_kana($str1, 'R'); // 出力:ABC123ABC123
// n:全角数字を半角数字に変換
echo mb_convert_kana($str1, 'n'); // 出力:ABC123ABC123
// N:半角数字を全角数字に変換
echo mb_convert_kana($str1, 'N'); // 出力:ABC123ABC123
// a:全角英数字を半角英数字に変換
echo mb_convert_kana($str1, 'a'); // 出力:ABC123ABC123
// A:半角英数字を全角英数字に変換
echo mb_convert_kana($str1, 'A'); // 出力:ABC123ABC123
$str2 = 'ABC 123ABC 123';
// s:全角スペースを半角スペースに変換
echo mb_convert_kana($str2, 's'); // 出力:ABC 123ABC 123
// S:半角スペースを全角スペースに変換
echo mb_convert_kana($str2, 'S'); // 出力:ABC 123ABC 123
$str3 = 'アイウエオあいうえおアイウエオ';
// k:全角カタカナを半角カタカナに変換
echo mb_convert_kana($str3, 'k'); // 出力:アイウエオあいうえおアイウエオ
// K:半角カタカナを全角カタカナに変換
echo mb_convert_kana($str3, 'K'); // 出力:アイウエオあいうえおアイウエオ
// h:全角ひらがなを半角カタカナに変換
echo mb_convert_kana($str3, 'h'); // 出力:アイウエオアイウエオアイウエオ
// H:半角カタカナを全角ひらがなに変換
echo mb_convert_kana($str3, 'H'); // 出力:アイウエオあいうえおあいうえお
// c:全角カタカナを全角ひらがなに変換
echo mb_convert_kana($str3, 'c'); // 出力:あいうえおあいうえおアイウエオ
// C:全角ひらがなを全角カタカナに変換
echo mb_convert_kana($str3, 'C'); // 出力:アイウエオアイウエオアイウエオ
$str4 = 'ガギグゲゴ';
// V:濁点付きの文字を一文字に変換(K, Hと共に使用)
echo mb_convert_kana($str4, 'VK'); // 出力:ガギグゲゴ
?>
PHP
//=====名前=====
if( ! isset($input_name) ){ //未入力
$error_message['name'] = "※お名前は必須項目です。";
}else {
$input_name = mb_convert_kana($input_name, "n", "utf-8"); //全角数字を半角にする
if( mb_strlen($input_name,"utf-8")>30 ){ //最大文字数オーバー
$error_message['name'] = "※お名前は15文字以内で入力してください。";
}elseif( ($input_name ===" ") || ($input_name ==="山田花子") || ($input_name ==="田中太郎") || ($input_name ==="一太郎") ){
//不正な名前
$error_message['name'] = "※お名前はただしく入力してください。";
}elseif( strstr($input_name, 'いいい') || strstr($input_name, 'あああ') ) {
$error_message['name'] = "※名前に連続した文字列がはいっています。";
}elseif( ctype_alnum($input_name) ){ //名前が半角英数字だったら不正
$error_message['name'] = "※名前に数字は入力しないでください";
}
}
PHP
//=====郵便番号=====
if( isset($input_zipcode) ){
$input_zipcode = mb_convert_kana($input_zipcode, "n", "utf-8") ; //全角数字を半角にする
$input_zipcode = str_replace("-", "", $input_zipcode) ; //文字列から"-"を外す。
if( ! preg_match("/^[\d]{7}$/",$input_zipcode) ){
$error_message['zipcode'] = "※郵便番号が間違っています。数字で入力してください。";
}
}
PHP
//=====電話番号=====
if( ! isset($input_phone) ){ //未入力
$error_message['phone'] = "※電話番号は必須項目です。";
}else{
$input_phone = mb_convert_kana($input_phone, "n", "utf-8"); //全角数字を半角にする
$input_phone = str_replace("-", "", $input_phone); //文字列から"-"を外す。
if( preg_match("/^0\d{9}$/",$input_phone) ){ //一般電話10ケタ
$phone_first4 = substr($input_phone, 0, 4); //0バイト目から4バイトとりだし
$phone_first2 = substr($input_phone, 0, 2); //0バイト目から2バイトとりだし
if( strstr($phone_first4, '0120') ){
$error_message['phone'] = "※0120番号はご登録できません。" ;
}elseif( strstr($phone_first2, '00') ){
$error_message['phone'] = "※電話番号が正しくないようです。" ;
}elseif( //以下の番号を含むは拒否
strstr($input_phone, '000000000') || strstr($input_phone, '0450000001') || strstr($input_phone, '0123456789')
|| strstr($input_phone, '0116669999') || strstr($input_phone, '09111111111') || strstr($input_phone, '0138123123')
|| strstr($input_phone, '0999999999') || strstr($input_phone, '0552222222') || strstr($input_phone, '0116669999')
|| strstr($input_phone, '0123456789') || strstr($input_phone, '012345678') || strstr($input_phone, '0312345678')
|| strstr($input_phone, '099999999') || strstr($input_phone, '0781231234') || strstr($input_phone, '0312345678')
|| strstr($input_phone, '0552222222') || strstr($input_phone, '0123123123')
){
$error_message['phone'] = "※この番号はご登録できません。" ;
}else{
//$error_message['phone'] = "◎";
}
}elseif( preg_match("/^0460\d{5}$/",$input_phone) //神奈川県足柄下郡箱根町と静岡県裾野市茶畑は9ケタ
|| preg_match("/^0578\d{5}$/",$input_phone) //岐阜県吉城郡神岡町と上宝村は9ケタ
){
//$error_message['phone'] = "◎";
}elseif( preg_match("/^090\d{8}$/",$input_phone) || preg_match("/^080\d{8}$/",$input_phone) || preg_match("/^070\d{8}$/",$input_phone)
|| preg_match("/^060\d{8}$/",$input_phone) || preg_match("/^050\d{8}$/",$input_phone) || preg_match("/^040\d{8}$/",$input_phone)
){
$phone_first4 = substr($input_phone, 0, 4); //0バイト目から4バイトとりだし
if( strstr($phone_first4, '0800') ){ //着信課金サービスで使用している番号
$error_message['phone'] = "※番号がご登録できないので他の番号をご入力ください。" ; // 0900は導入されるかもしれない番号なので指定しない
}elseif( strstr($input_phone, '090111111111') || strstr($input_phone, '09000000000') || strstr($input_phone, '080888888888')
|| strstr($input_phone, '050555555555')
){
$error_message['phone'] = "※電話が正しくないようです。";
}else{
//$error_message['phone'] = "◎";
}
}else{
$error_message['phone'] = "※電話番号が間違っています。";
}
}
PHP
//=====メールアドレス=====
if( isset($input_mail) ){
$input_mail = mb_convert_kana($input_mail, "n", "utf-8"); //全角数字を半角にする
if( ! preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/",$input_mail) ){
$error_message['mail'] = "※メールアドレスの形式が間違っています。";
}
if( mb_strlen($input_mail,"utf-8")>40 ){
$error_message['mail'] = "※メールアドレスは40文字以内で入力してください。";
}
}