Home > 语言编程 > PHP4/5用通用检测函数的打包大集合,适合表单,数据库

PHP4/5用通用检测函数的打包大集合,适合表单,数据库

相信诸位PHPer现在一直还在找到一个好的PHP检测函数库犯愁吧,以下是本人目前编程使用通用检测函数的集合,来源于中国著名的开源社区,是什么不要说了吧原作者天灰,先感谢一下,本人对他的源代码进行了部分修改,以适合自己开发需要,天灰的网址是找不到了,不知道是否是改名了

PHP4,PHP5下有效,需要的话欢迎收藏,转载

php通用检测函数集合
<?
// 【作 用】: 通用检测函数集
// 【作 者】: 天灰
// 【修 改】: CG
//
// 【最后修改日期】: 2008/10/10
// 【变量定义规则】:‘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;
}
?>
Categories: 语言编程 Tags: ,
  1. December 17th, 2008 at 20:29 | #1

    呵呵,在这里留步。正在学PHP

  1. No trackbacks yet.
You must be logged in to post a comment.