欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP通用检测函数集合

程序员文章站 2023-10-17 17:02:35

<? 
// 【文件名】: 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_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; 

//------------------------------------------------ 
?>