相信各位 PHPer 現在一直還在找到一個好的 PHP 檢測函數庫犯愁吧,以下是本人目前編程使用通用檢測函數的集合,來源於中國著名的開源社區,這個就不說了吧原作者天灰,先感謝一下,本人對他的源代碼進行了部分修改,以適合自己開發需要,天灰的網址是找不到了,不知道是否是改名了
PHP4,PHP5 下有效,需要的話歡迎收藏,轉載
php 通用檢測函數集合
// ※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
if($flag<>1)
{
for($j=0;$j
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 "
";
}
else
{
echo "
";
}
}
// 函數名:alertexit ($c_alert,$i_goback=0)
// 作 用:非法操作警告
// 參 數:$c_alert(提示的錯誤信息)
// $i_goback(返回到那一頁)
// 返回值:字符串
// 備 注:無
function alertexit($c_alert,$i_goback=0)
{
if($i_goback<>0)
{
echo "
";
exit;
}
else
{
echo "
";
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("
// 函數名: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;
}
?>