PHP通用检测函数集合
2018-09-07 13:27
<?
//【文件名】
//【作用】:通用检测函数集
//【作者】:天灰
//【最后修改日期】: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(待检测的数字)
//返回值:布尔值
//备注:无
//--------------------------------------------------
functionCheckMoney($C_Money)
{
if(!ereg(^[0-9][.][0-9]$,$C_Money))returnfalse;
returntrue;
}
//--------------------------------------------------
//--------------------------------------------------
//函数名:CheckEmailAddr($C_mailaddr)
//作用:判断是否为有效邮件地址
//参数:$C_mailaddr(待检测的邮件地址)
//返回值:布尔值
//备注:无
//--------------------------------------------------
functionCheckEmailAddr($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))
{
returnfalse;
}
returntrue;
}
//--------------------------------------------------
//--------------------------------------------------
//函数名:CheckWebAddr($C_weburl)
//作用:判断是否为有效网址
//参数:$C_weburl(待检测的网址)
//返回值:布尔值
//备注:无
//--------------------------------------------------
functionCheckWebAddr($C_weburl)
{
if(!ereg(^
{
returnfalse;
}
returntrue;
}
//--------------------------------------------------
//--------------------------------------------------
//函数名:CheckEmpty($C_char)
//作用:判断字符串是否为空
//参数:$C_char(待检测的字符串)
//返回值:布尔值
//备注:无
//--------------------------------------------------
functionCheckEmptyString($C_char)
{
if(!is_string($C_char))returnfalse;//是否是字符串类型
if(empty($C_char))returnfalse;//是否已设定
if($C_char==)returnfalse;//是否为空
returntrue;
}
//--------------------------------------------------
//--------------------------------------------------
//函数名:CheckLengthBetween($C_char,$I_len1,$I_len2=100)
//作用:判断是否为指定长度内字符串
//参数:$C_char(待检测的字符串)
//$I_len1(目标字符串长度的下限)
//$I_len2(目标字符串长度的上限)
//返回值:布尔值
//备注:无
//--------------------------------------------------
functionCheckLengthBetween($C_cahr,$I_len1,$I_len2=100)
{
$C_cahr=trim($C_cahr);
if(strlen($C_cahr)<$I_len1)returnfalse;
if(strlen($C_cahr)>$I_len2)returnfalse;
returntrue;
}
//--------------------------------------------------
//--------------------------------------------------
//函数名:CheckUser($C_user)
//作用:判断是否为合法用户名
//参数:$C_user(待检测的用户名)
//返回值:布尔值
//备注:无
//--------------------------------------------------
functionCheckUser($C_user)
{
if(!CheckLengthBetween($C_user,4,20))returnfalse;//宽度检验
if(!ereg(^[_a-zA-Z0-9]*$,$C_user))returnfalse;//特殊字符检验
returntrue;
}
//--------------------------------------------------
//--------------------------------------------------
//函数名:CheckPassword($C_passwd)
//作用:判断是否为合法用户密码
//参数:$C_passwd(待检测的密码)
//返回值:布尔值
//备注:无
//--------------------------------------------------
functionCheckPassword($C_passwd)
{
if(!CheckLengthBetween($C_passwd,4,20))returnfalse;//宽度检测
if(!ereg(^[_a-zA-Z0-9]*$,$C_passwd))returnfalse;//特殊字符检测
returntrue;
}
//--------------------------------------------------
//--------------------------------------------------
//函数名:CheckTelephone($C_telephone)
//作用:判断是否为合法电话号码
//参数:$C_telephone(待检测的电话号码)
//返回值:布尔值
//备注:无
//--------------------------------------------------
functionCheckTelephone($C_telephone)
{
if(!ereg(^[+]?[0-9]+([xX-][0-9]+)*$,$C_telephone))returnfalse;
returntrue;
}
//--------------------------------------------------
//--------------------------------------------------
//函数名:CheckValueBetween($N_var,$N_val1,$N_val2)
//作用:判断是否是某一范围内的合法值
//参数:$N_var待检测的值
//$N_var1待检测值的上限
//$N_var2待检测值的下限
//返回值:布尔值
//备注:无
//--------------------------------------------------
functionCheckValueBetween($N_var,$N_val1,$N_val2)
{
if($N_var<$N_var1││$N_var>$N_var2)
{
returnfalse;
}
returntrue;
}
//--------------------------------------------------
//--------------------------------------------------
//函数名:CheckPost($C_post)
//作用:判断是否为合法邮编(固定长度)
//参数:$C_post(待check的邮政编码)
//返回值:布尔值
//备注:无
//--------------------------------------------------
functionCheckPost($C_post)
{
$C_post=trim($C_post);
if(strlen($C_post)==6)
{
if(!ereg(^[+]?[_0-9]*$,$C_post))
{
returntrue;;
}else
{
returnfalse;
}
}else
{
returnfalse;;
}
}
//--------------------------------------------------
//--------------------------------------------------
//函数名:CheckExtendName($C_filename,$A_extend)
//作用:上传文件的扩展名判断
//参数:$C_filename上传的文件名
//$A_extend要求的扩展名
//返回值:布尔值
//备注:无
//--------------------------------------------------
functionCheckExtendName($C_filename,$A_extend)
{
if(strlen(trim($C_filename))<5)
{
return0;//返回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表示上传图片的类型不符
}
return1;//返回1表示图片的类型符合要求
}
//--------------------------------------------------
//--------------------------------------------------
//函数名:CheckImageSize($ImageFileName,$LimitSize)
//作用:检验上传图片的大小
//参数:$ImageFileName上传的图片名
//$LimitSize要求的尺寸
//返回值:布尔值
//备注:无
//--------------------------------------------------
functionCheckImageSize($ImageFileName,$LimitSize)
{
$size=GetImageSize($ImageFileName);
if($size[0]>$LimitSize[0]$size[1]>$LimitSize[1])
{
AlertExit(图片尺寸过大);
returnfalse;
}
returntrue;
}
//--------------------------------------------------
//--------------------------------------------------
//函数名:Alert($C_alert,$I_goback=0)
//作用:非法操作警告
//参数:$C_alert(提示的错误信息)
//$I_goback(返回到那一页)
//返回值:字符串
//备注:无
//--------------------------------------------------
functionAlert($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(返回到那一页)
//返回值:字符串
//备注:无
//--------------------------------------------------
functionAlertExit($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(待替换的字符串)
//返回值:字符串
//备注:无
//--------------------------------------------------
functionReplaceSpecialChar($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
//--------------------------------------------------
functionExchangeMoney($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;//如前面位数的宽度mod3=0,可按,分成$I_step
部分
}else
{
$step=($len-$len%3)/3+1;//如前面位数的宽度mod3!=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_getGET方法参数
//$C_getOtherGET方法的其他参数
//返回值:字符串
//备注:无
//------------------------------------------------
functionWindowLocation($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;
}
//------------------------------------------------
?>
下一篇:利用PHP创建动态图像