php通用檢測函數集

//------------------------------------------------------------------------------------------
//------------------------------------------------------------------------------------------
//

// 【變量定義規則】:'C_'=字符型,'I_'=整型,'N_'=數字型,'L_'=布爾型,'A_'=數組型
//------------------------------------------------------------------------------------------
//------------------------------------------------------------------------------------------
// ※CheckMoney($C_Money) 檢查數據是否是99999.99格式
// ※CheckEmailAddr($C_mailaddr) 判斷是否爲有效郵件地址
// ※CheckWebAddr($C_weburl) 判斷是否爲有效網址
// ※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(待檢測的數字)
// 返回值:布爾值
// 備 注:無
//------------------------------------------------------------------------------------------
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 (目標字符串長度的上限)
// 返回值:布爾值
// 備 注:無
//------------------------------------------------------------------------------------------
function CheckLengthBetween($C_cahr, $I_len1, $I_len2=100)
{
$C_cahr = trim($C_cahr);
if (strlen($C_cahr) < $I_len1) return false;
if (strlen($C_cahr) >; $I_len2) return false;
return true;
}
//------------------------------------------------------------------------------------------

//------------------------------------------------------------------------------------------
// 函數名: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)) 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(待檢測的電話號碼)
// 返回值:布爾值
// 備 注:無
//------------------------------------------------------------------------------------------
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_var2 待檢測值的下限
// 返回值:布爾值
// 備 注:無
//------------------------------------------------------------------------------------------
function CheckValueBetween($N_var, $N_val1, $N_val2)
{
if ($N_var < $N_var1 ││ $N_var >; $N_var2)
{
return false;
}
return true;

}
//------------------------------------------------------------------------------------------


//------------------------------------------------------------------------------------------
// 函數名: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 false;;
}
}
//------------------------------------------------------------------------------------------


//------------------------------------------------------------------------------------------
// 函數名:CheckExtendName($C_filename,$A_extend)
// 作 用:上傳文件的擴展名判斷
// 參 數:$C_filename 上傳的文件名
// $A_extend 要求的擴展名
// 返回值:布爾值
// 備 注:無
//------------------------------------------------------------------------------------------
function 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<count($A_extend);$i++) //進行檢測
{
if (trim(strtolower($extended)) == trim(strtolower($A_extend[$i]))) //轉換大
小寫並檢測
{
$flag=1; //加成功標誌
$i=count($A_extend); //檢測到了便停止檢測
}
}

if($flag<>;1)
{
for($j=0;$j<count($A_extend);$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);
if ($size[0]>;$LimitSize[0] ││ $size[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_goback<>;0)
{
echo "<script>;alert('$C_alert');history.go($I_goback);</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_goback<>;0)
{
echo "<script>;alert('$C_alert');history.go($I_goback);</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); //將回車替換爲<br>;
$C_char=str_replace(" "," ",$C_char); //替換空格替換爲
$C_char=str_replace("<? ","< ?",$C_char); //替換PHP標記
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<>;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";
}else
{
$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方法的其他參數
// 返回值: 字符串
// 備 注:無
//----------------------------------------------------------------------------------------
function 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?
$C_get&$C_getOther='+this.value/"";}
return $C_target;
}
//----------------------------------------------------------------------------------------

?>;

發佈了3 篇原創文章 · 獲贊 10 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章