ホームページ >バックエンド開発 >PHPチュートリアル >Thunder Express Channel PHPユニバーサル検出機能集が使い放題

Thunder Express Channel PHPユニバーサル検出機能集が使い放題

WBOY
WBOYオリジナル
2016-07-29 08:35:09770ブラウズ

// [ファイル名]: c_check.inc
// [機能]: 汎用検出関数セット
// [作成者]: Tianhui
// [最終更新日]: 2001/05/11[cxx ]
//【変数定義規則】: 'C_'=文字型、'I_'=整数型、'N_'=数値型、'L_'=ブール型、'A_'=配列型
// --- -----------------------------------------------
// ※CheckMoney($C_Money) データが99999.99形式かどうかを確認します
// ※CheckEmailAddr($C_mailaddr) 有効なメールアドレスであるかどうかを判断します
// ※CheckWebAddr($C_weburl) 有効なURLであるかどうかを判断します
// ※CheckEmpty( $C_char) 文字列が空かどうか判定
// ※CheckLengthBetween($C_char, $I_len1, $I_len2=100) 指定された長さ以内の文字列か判定
// ※CheckUser($C_user) かどうか判定正規のユーザー名です
// ※CheckPassword($C_passwd) は正規のユーザーパスワードかどうかを判断します
// ※CheckTelephone($C_telephone) は正規の電話番号かどうかを判断します
// ※CheckValueBetween($N_var, $ N_val1, $N_val2) 一定範囲かどうか判定
// ※CheckPost($C_post) で正しい郵便番号(固定長)かどうか判定
// ※CheckExtendName($C_filename,$A_extend)アップロードしたファイルの拡張子を決定します
// ※CheckImageSize($ImageFileName,$ LimitSize) アップロードした画像のサイズを確認します
// ※AlertExit($C_alert,$I_goback=0) 不正操作警告して終了します
// ※Alert ($C_alert,$I_goback=0) 不正操作警告
// ※ReplaceSpacialChar($ C_char) 特殊文字置換関数
// ※ExchangeMoney($N_money) 資金換算関数
// ※WindowLocation($C_url,$C_get=" ",$C_getOther="") PHP の window.location 関数
//- -------------------------------- ------------------
//---------------------------- ------------------- --
// 関数名: CheckMoney($C_Money)
// 関数: データが 99999.99 形式かどうかを確認します
// パラメーター: $C_Money (検出対象の数値)
// 戻り値: ブール値
// 備考: なし
//------------------------- -------------------- -------
関数 CheckMoney($C_Money)
{
if (!ereg("^[0-9][ .][0-9]$", $C_Money)) return false;
return true ;
}
//------------------------ ------------------------ ------
//--------------- ------------------------- ---------
// 関数名: CheckEmailAddr($C_mailaddr)
// 関数:有効なメールアドレスかどうかを判定します
// パラメータ: $C_mailaddr (検出対象のメールアドレス)
// 戻り値: ブール値
// 備考: なし
//----------- ----------------------- ---------------
関数 CheckEmailAddr($C_mailaddr)
{
if ( !eregi("^[_a-z0-9-]+(.[_a-z0-9- ]+)*@[a-z0-9-]+(.[a-z0-9-]+)* $",
$C_mailaddr))
//(!ereg("^[_a-zA-Z0 -9-]+(.[_a-zA-Z0-9-]+)*@[_a-zA-Z0 -9-]+(.[_a-zA-Z0-9-]+)*$",
$c_mailaddr))
{
return false;
}
return true;
}
//----- --------------------- ------------------------
// ------------------------ ------------------------ --
// 関数名: CheckWebAddr($C_weburl)
// 関数: 有効な URL かどうかを判定
// パラメータ: $C_weburl (検出対象の URL)
// 戻り値: ブール値
// 備考: なし
//-------------------------- ------------------- ----------
function CheckWebAddr($C_weburl)
{
if (!ereg("^http:// [_a-zA-Z0-9-]+(.[_a-zA-Z0 -9-]+)*$", $C_weburl))
{
return false;
}
return true;
}
// ------------------- -------------------------------
//-------------- ---------------------------------- ---
// 関数名:CheckEmpty($C_char)
/ / 関数: 文字列が空かどうかを判定します
// パラメータ: $C_char (検出する文字列)
// 戻り値: ブール値
// 備考: なし
//----------- ------------------------ ---------
関数 CheckEmptyString($C_char)
{
if ( !is_string($C_char)) return false; //文字列型かどうか
if (empty($C_char)) return false; //設定されているかどうか
if ($C_char=='') return false; //空かどうか
true を返す
}
//----------------------------------------------- --- ---
//---------------------------------------------------------- --------- ------
// 関数名: CheckLengthBetween($C_char, $I_len1, $I_len2=100)
// 関数: 指定された長さの文字列かどうかを判定します
/ / パラメータ: $C_char (検出対象文字列)
// $I_len1 (対象文字列長の下限)
// $I_len2 (対象文字列長の上限)
// 戻り値: ブール値
// 備考:なし
//-- -------------------------------------- -
関数 CheckLengthBetween($C_cahr, $I_len1, $I_len2=100)
{
$C_cahr = trim($C_cahr);
if (strlen($C_cahr) <$I_len1) return false; C_cahr) > ; $I_len2) false を返す
}
//----------------------------- -------------------
//---------------------------- ------ -------------------
// 関数名: CheckUser($C_user)
// 関数: 正当なユーザー名かどうかを判断します
// パラメータ: $C_user (検出対象のユーザー名)
// 戻り値: ブール値
// 備考: なし
//--------- ----- -----------------------
関数 CheckUser($C_user)
{
if (!CheckLengthBetween($C_user, 4, 20) ) return false ; //幅テスト
if (!ereg("^[_a-zA-Z0-9]*$", $C_user)) return false
return true;
// --- ---------------------------------------------------
// ----------------------------------------------- ---
// 関数名: CheckPassword($C_passwd)
// 関数: 正当なユーザーパスワードかどうかを判定します
// パラメータ: $C_passwd (検出されるパスワード)
// 戻り値: ブール値
/ / 備考:なし
// ------------------------------------------- ----- -----
function CheckPassword($C_passwd)
{
if (!CheckLengthBetween($C_passwd, 4, 20)) return false
if (!ereg("^[_a) -zA-Z0- 9]*$", $C_passwd)) return false; //特殊文字検出
return true;
}
//----------------- -------- ------------------------
//--------------- ---------------- ----------------------------------
// 関数名: CheckTelephone($C_telephone)
// 関数: 正規の電話番号かどうかを判定
// パラメータ: $C_telephone (検出する電話番号)
// 戻り値: ブール値
// 備考:なし
//------------- --------------------------------- ---
関数 CheckTelephone($C_telephone)
{
if (!ereg ("^[+]?[0-9]+([xX-][0-9]+)*$", $C_telephone)) false を返す;
true を返す
//----- --------------------------------- ------------
//-- --------------------------------- ------------
/ / 関数名: CheckValueBetween($N_var, $N_val1, $N_val2)
// 関数: 特定の範囲内の正当な値であるかどうかを判断します
// パラメーター: $N_var 検出対象の値
// $N_var1 検出対象の値の上限
// $N_var2 検出対象の値の下限
// 戻り値:ブール値
// 備考:なし
/ /----------------- -------------------------------- --
関数 CheckValueBetween($N_var, $N_val1, $N_val2)
{
if ($ N_var < $N_var1 ││ $N_var > $N_var2)
{
false を返す
}
true を返す;
//------------------------------------------------ -------------------
//---------------- ------------- ---------------------
// 関数名: CheckPost($C_post)
// 機能: 有効な郵便番号(固定長)かどうかを判定します
// パラメータ: $C_post (確認する郵便番号)
// 戻り値: ブール値
// 備考: なし
//------ -------------- -----------------------------
関数 CheckPost($C_post)
{
$C_post=trim($C_post);
if (strlen($C_post) == 6)
{
if(!ereg("^[+]?[_0-9]*$",$C_post) )
{
}else
{
false を返す
}
}else
{
false を返す;;
//----------------------------------------------- --- ---
//---------------------------------------------------------- --------- ------
// 関数名: CheckExtendName($C_filename,$A_extend)
// 関数: アップロードされたファイルの拡張子を決定する
// パラメータ: $C_filename アップロードされたファイルname
// $A_extend 要件 拡張機能名
// 戻り値: ブール値
// 備考: なし
//------------------------ -------- ---------------------
関数 CheckExtendName($C_filename,$A_extend)
{
if(strlen(trim($C_filename) )) < 5)
{
return 0; // 0 を返すと、画像がアップロードされていないことを意味します
}
$lastdot = strrpos($C_filename, ".") // 最後の位置を取り出します
$extended = substr ($C_filename, $lastdot+1) ; //拡張子を取得
for($i=0;$i{
if (trim(strto lower($extended) )) == trim(strto lower($ A_extend[$i]))) //大文字を小文字に変換して検出
{
$flag=1; //成功フラグを追加
$i=count($A_extend);検出された場合は検出を停止します
}
}
if($flag<>1)
{
for($j=0;$j{
$alarm .= $ A_extend[$j]." ";
}
AlertExit('アップロードできるのは '.$alarm.' ファイルのみです!アップロードしたのは '.$extended.' タイプのファイルです。);
return -1; //アップロードされた画像のタイプが一致しないことを意味します
} //return 1;写真のタイプは要件を満たしています
}
//------------------------------------- ----------- ----
//-------------------------------- ------------- -------
// 関数名: CheckImageSize($ImageFileName,$LimitSize)
// 機能: アップロードされた画像のサイズを確認する
// パラメータ: $ImageFileName アップロードされた画像名
// $LimitSize 要件サイズ
// 戻り値: ブール値
// 備考: なし
//--------- --------- --------------------
関数 CheckImageSize($ImageFileName,$LimitSize)
{
$size=GetImageSize($ImageFileName) ;
if ($size[0] >$LimitSize[0] || $size[1]>$LimitSize[1])
{
AlertExit('画像のサイズが大きすぎます')
; }
true を返す
}
// -------------------------------------- ----------
//------------------------------------- ------------- ---
// 関数名: Alert($C_alert,$I_goback=0)
// 関数: 不正操作警告
// パラメータ: $C_alert (エラーメッセージプロンプト)
// $I_goback (そのページに戻る)
//戻り値: 文字列
//備考: なし
//--------------------- ------- -----------------------
関数 Alert($C_alert,$I_goback=0)
{
if($I_goback< >0)
{
echo "<script>alert('$C_alert');history.go($I_goback);</script>"
}
else
{
echo "<script>alert ('$C_alert');&lt ;/script>"; <br>} <br>} <br>//---------------------------- ----------- ------------- <br>//-------------------------- ----------- ---------------- <br>// 関数名: AlertExit($C_alert,$I_goback=0) <br>// 関数: 不正な操作警告 <br>// パラメーター: $C_alert (エラー メッセージが表示されます) <br>// $I_goback (そのページに戻る) <br>// 戻り値: 文字列 <br>// 備考: なし <br>//---------- ---------------- ---------------------------------- <br>function AlertExit($C_alert,$I_goback=0) <br>{ <br> if($I_goback<>0) <br>{ <br>echo "<script>alert('$C_alert');history.go($I_goback);&lt ;/script>"; <br>exit; <br>} <br>else <br>{ <br>echo "<script>alert('$C_alert');</script>";
exit;
}
}
//--- -------------- ------------------------------
//- -------------- ----------------------------------
/ / 関数名: ReplaceSpacialChar($C_char)
// 使用する演算: 特殊文字置換関数
// パラメータ: $C_char (置換する文字列)
// 戻り値: string
// 備考: なし
//-- -------- --------------------------------------
関数 ReplaceSpecialChar ($C_char)
{
$ C_char=HTMLSpecialChars($C_char); //特殊文字を HTML 形式に変換します。
$C_char=nl2br($C_char); //改行を
に置き換えます
$C_char=str_replace(" "," ",$C_char); //スペースを
$C_char=str_replace(") return $C_char;
//------ ------ -----------------------------
//---------- ------- ----------------------------------
// 関数名: ExchangeMoney($ N_money)
// 関数: 資金換算関数
// パラメーター: $N_money (換算する金額)
// 戻り値: 文字列
// 注: この関数の例: $char=ExchangeMoney(5645132.3155) ==> ; $char= '¥5,645,132.31'
//-------------------------------------- --------- -------
function ExchangeMoney($N_money)
{
$A_tmp=explode(".",$N_money); // に従って数値を 2 つの部分に分割します。小数点を取得して配列に格納します $A_tmp
$I_len= strlen($A_tmp[0]); //小数点の前の桁の幅を測定します
if($I_len%3==0)
{
$I_step=$I_len/3; //小数点前の桁幅 mod 3 = 0 など、 $I_step
の部分に分割できる
}else
{
$step=($len- $len%3)/3+1; //前の桁の幅が 3 != 0 の場合、$I_step
Part+1
}
$C_cur=""
//Convert に分割できます。小数点前の金額
while($I_len<>0)
{
$I_step--;
if( $I_step==0)
{
$C_cur .= substr($A_tmp[0],0, $I_len-($I_step)*3);
}else
{
$C_cur .= substr($A_tmp[0 ],0,$I_len-($I_step)*3).","; A_tmp[0]=substr($A_tmp[0],$I_len-($I_step)*3);
$I_len =strlen($A_tmp[0])
}
//小数点以下を変換します
if($A_tmp[1]=="")
{
$C_cur .= ".00";
{
$I_len=strlen($A_tmp[1])
if($I_len<2);
{
$C_cur .= ".".$A_tmp[1]."0";
}else
{
$C_cur .= ".".substr($A_tmp[1],0,2);
}
//人民元記号を追加して送信します
$C_cur="¥".$C_cur;
return $C_cur;
//---------------- -------------------------------- -------
//---------- ------------------------ ---------
// 関数名: WindowLocation($ C_url,$C_get="",$C_getOther="")
// 関数: PHP の window.location 関数
// パラメータ :$C_url ステアリング ウィンドウの URL
// $C_get GET メソッドのパラメータ
// $ C_getOther GET メソッドのその他のパラメーター
// 戻り値: String
// 備考: なし
//------ --------------------- -------------------
関数 WindowLocation($C_url,$C_get ="",$C_getOther="")
{
if($C_get == "" && $C_getOther == "")
if($C_get == "" && $C_getOther <> ""){$ C_target=""window.location='$C_url?
$C_getOther='+this.value" ";}
if($C_get <> "" && $C_getOther == ""){$C_target="" window.location='$C_url?
$C_get'"";}
if($C_get < ;> "" && $C_getOther <> ""){$C_target=""window.location='$C_url='+this.value";}
$C_target; }
//-------------------------- ----------- ----
?>


上記では、Thunder Express Channel の使い放題に関する PHP の一般的な検出関数のコレクションを紹介しました。これには、Thunder Express Channel の使い放題の内容も含まれており、PHP チュートリアルに興味のある友人に役立つことを願っています。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。