// 【檔案名稱】: c_check.inc
// 【作 用】: 通用偵測函數集
// 最後修改日期】: 2001/05/11[cxx]
// 【變數定義規則】:'C_'=字元型,'I_'=整數,'N_'=數字型,'L_'=布林型,'A_'=陣列型
//---------------------------------- ----------------
// ※CheckMoney($C_Money) 檢查資料是否為99999.99格式
// ※CheckEmailAddr($C_mailaddr) 判斷是否為有效郵件地址
// ※CheckWebAddr($C_weburl) 判斷是否為有效網址
// ※CheckEmpty($C_char) 判斷字串是否為空
// ※CheckLengthBetween($C_len, . 100) 判斷是否為指定長度內字串
// ※CheckUser($C_user) 判斷是否為法定使用者名稱
// ※CheckPassword($C_passwd) 判斷是否為合法使用者密碼CheckTelephone($C_telephone) 判斷是否為合法電話號碼
// ※CheckValueBetween($N_var, $N_val1, $N_val2) Check)判斷是否為某一範圍內的合法值判斷是否為合法郵遞區號(固定長度)
// ※CheckExtendName($C_filename,$A_extend) 判斷上傳檔案的副檔名
// ※Check // ※AlertExit($C_alert,$I_goback=0) 非法操作警告並退出
// ※Alert($C_alert,$I_goback=0) 非法操作警告
// ※ReplaceSpacial($替換函數
// ※ExchangeMoney($N_money) 資金轉換函數
// ※WindowLocation($C_url,$C_get="",$C_getOther="" /------------------------------------------------- -
//----------------------------------------- ---------
// 函數名稱:CheckMoney($C_Money)
// 作 用:檢查資料是否為99999.99格式
// 參 數:$C_Money(待檢測的格式
// 參 數:$C_Money(待檢測的格式
// 參 數:$C_Money(待檢測的格式
// 參 數:$C_Money(待檢測的格式
// 參 數:$C_Money(待檢測的格式
// 參 數:$C_Money(待檢測的格式
// 參 數:$C_Money(待檢測的格式
// 參 數:$C_Money(待檢測的格式 數字)
// 回傳值:布林值
// 備 註:無
//------------------------ --------------------------
function CheckMoney($C_Money)
{
if (!ereg("^[ 0-9][.][0-9]$", $C_Money)) return false;
return true;
}
//------------- -------------------------------------
//----- ---------------------------------------------
//函數名稱:CheckEmailAddr($C_mailaddr)
// 作 用:判斷是否為有效郵件位址
//
// 作 用:判斷是否為有效郵件位址
// 參 數:$C_mailaddr(要偵測的郵件位址) // 回傳值:布林值回傳值:布林值: 🎜>// 備 註:無
//------------------------------------- -------------
function 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)
// 作 用:判斷是否為有效網址
// 參 數:$C_weburl(待偵測的網址)
// 回值:布林值 / 備 註:無
//---------------------------------------- ----------
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(待偵測的字串)
// 回傳值:布林值
// 備 註:無
//--------------------------- -----------------------
function CheckEmptyString($C_char)
{
if (!is_string($C_char)) return false ; //是否為字串型別
if (empty($C_char)) return false; //是否已設定
if ($C_char=='') return false; //是否為>return true;
}
//--------------------------------------------- -----
//------------------------------------- -------------
// 函數名稱:CheckLengthBetween($C_char, $I_len1, $I_len2=100)
// 作 用:字串是否為指定長度內
// 參 數:$C_char(待偵測的字串)
// $I_len1 (目標字串長度的下限)
// $I_len2 (目標字串長度的上限)
// $I_len2 (目標字串長度的上限)
字串
字串
字串
字符串
字串// 回傳值:布林值
// 備 註:無
//----------------------------- ---------------------
function CheckLengthBetween($C_cahr, $I_len1, $I_len2=100)
{
$C_cahr = trim( $C_cahr);
if (strlen($C_cahr) if (strlen($C_cahr) > $I_len2) return; >//----------------------------------------------- ---
//--------------------------------------- -----------
// 函數名稱:CheckUser($C_user)
// 作 用:判斷是否為合法使用者名稱
// 參 數:$C_user(待偵測的使用者名稱)
// 回傳值:布林值
// 備 註:無
//--------------------- -----------------------------
function CheckUser($C_user)
{
if (!CheckLengthBetween( $C_user, 4, 20)) return false; //寬度檢定
if (!ereg("^[_a-zA-Z0-9]*$", $C_user)) returnfalse; 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(待偵測的電話號碼)
// 回傳值:布林值
// 備 註:無
//------------------------------------------------ --
function CheckTelephone($C_telephone)
{
if (!ereg("^[ ]?[0-9] ([xX-][0-9] )*$", $C_telephone )) return false;
return true;
}
//------------------------------ --------------------
//---------------------- ----------------------------
// 函數名稱:CheckValueBetween($N_var, $N_val1, $N_val2)
// 作 用:判斷是否為某一範圍內的合法值
// 參 數:$N_var 待檢測的值
// $N_var1 待檢測值的上限
// $N_var1 待檢測值的上限等值的下限
// 回傳值:布林值
// 備 註:無
//----------------------- ---------------------------
function CheckValueBetween($N_var, $N_val1, $N_val2)
{
if ($N_var $N_var2)
{
return false;
}
return false;
}
return ----------------------------------------------
//---------------------------------------------- ----
// 函數名稱:CheckPost($C_post)
// 作 用:判斷是否為合法郵編(固定長度)
// 參 數:$C_post(待check的郵遞區號)
// 回傳值:布林值
// 備 註:無
//------------------------- -------------------------
function CheckPost($C_post)
{
$C_post=trim($C_post);
if (strlen($C_post) == 6)
{
if(!ereg("^[ ]?[_0-9]*$",$C_post))
{
return true;;
}else
{
return false;
}
}else
{
return>hturn>
//--------------------------------------------- -----
//------------------------------------- -------------
// 函數名稱:CheckExtendName($C_filename,$A_extend)
// 作 用:上傳檔案的副檔名判斷
// 參 數:$C_filename 上傳的檔案名稱
// $A_extend 要求的副檔名
// 回傳值:布林值
// 備 附註:無
///////////// ------------------------------------------
function CheckExtendName($C_filename ,$A_extend)
{
if(strlen(trim($C_filename)) {
return 0; //回傳0表示沒上傳圖片 lastdot = strrpos($C_filename, "."); //取出.最後出現的位置
$extended = substr($C_filename, $lastdot 1); ///取出副檔名
{
if (trim(strtolower($extended)) == trim(strtolower($A_extend[$i]) )) //轉換大
小寫並偵測
{
$flag=1; //加上成功標誌
$i=count($A_extend); //偵測到了便停止偵測🎜>$i=count($A_extend); //偵測到了便停止偵測>}
}
if($flag1)
{
for($j=0;$j
$alarm .= $A_extend[$j]." ";
}
AlertExit('只能上傳'.$alarm.'檔案!而你上傳的是'.$extended.'類型的檔案');
return -1; //返回-1表示上傳圖片的類型不符
}
return 1; ///回傳1表示圖片的類型符合要求
}
//--------------------------------- -----------------
//------------------------- -------------------------
// 函數名稱:CheckImageSize($ImageFileName,$LimitSize)
// 作 用:檢驗上傳圖片的大小
// 參 數:$ImageFileName 上傳的圖片名稱
// $LimitSize 要求的尺寸
// 回值:布林值
//
// 回值:布林值
// //------------------------------------------------ --
function CheckImageSize($ImageFileName,$LimitSize)
{
$size=GetImageSize($ImageFileName); [1]>$LimitSize[1])
{
AlertExit('圖片尺寸過大');
return false;
}
return true; //------------------------------------------------ --
//---------------------------------------- ----------
// 函數名稱:Alert($C_alert,$I_goback=0)
// 作 用:非法操作警告
// 參 數:$C_alert(提示的錯誤訊息)
// $I_goback(回到那一頁)
// 回傳值:字串
// 備 注:無
//------- -------------------------------------------
function Alert($ C_alert,$I_goback=0)
{
if($I_goback0)
{
echo "<script>alert('$C_alert');history.go($I_gobackgo($I_s); </script>";
}
else
{
echo "<script>alert('$C_alert');</script>";
} >//----------------------------------------------- ---
//--------------------------------------- -----------
// 函數名稱:AlertExit($C_alert,$I_goback=0)
// 作 用:非法操作警告
// 參 數:$C_alert (提示的錯誤訊息)
// $I_goback(回傳到那一頁)
// 回傳值:字串
// 備 注:無
//------ --------------------------------------------
function AlertExit( $C_alert,$I_goback=0)
{
if($I_goback0)
{
echo "<script>alert('$C_alert');history.go($I_back)。 ;</script>";
exit;
}
else
{
echo "<script>alert('$C_alert');</script>";
exit ;
}
}
//------------------------------------ --------------
//---------------------------- ----------------------
// 函數名稱:ReplaceSpacialChar($C_char)
// 作 用:特殊字元取代函數
// 參 數:$C_char(待替換的字串)
// 回傳值:字串
// 備 註:無
//------------ --------------------------------------
function 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 ); //將數字以小數點分成兩部分,並存入數組$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; //如前面位數的寬度mod 3 !=可按 0 ,可按 ,分成$I_step
部分1
}
$C_cur="";
//對小數點前的金額數字轉換
while($I_len{
$I_step--;
if($I_step==0)
{
$C_cur .= substr($A_tmp[0],0,$I_lenb( $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]);
$I_len=strlen($A_tmp[0]);
}
//對小數點後面的金額的進行轉換
if($A_tmp[1]=="")
{
$C_cur .= ".00";
}else
{
$I_len=strlen($A_tmp[1]);
if($I_len{
$C_cur .=$".o. [1]."0";
}else
{
$C_cur .= ".".substr($A_tmp[1],0,2);
}
}
//加上人民幣符號並傳出
$C_cur="¥".$C_cur;
return $C_cur;
}
//-------$C_cur;
}
//------ -------------------------------------------
/ /-------------------------------------------------
// 函數名稱:WindowLocation($C_url,$C_get="",$C_getOther="")
// 作 用:PHP中的window.location函數
/// 轉向視窗的URL
// $C_get GET方法參數
// $C_getOther GET方法的其他參數
// 回傳值: // ------------------------------------------------
function WindowLocation($C_url,$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 ""&&
if($C_get ""&& $$C_get&$C_getOther=' this.value"";}
return $C_target;
}
return $C_target;
}
//-- ---------------------------------------------
?>