<?
//【文件名】: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(待检测的数字)
//返回值:布尔值
//备注:无
//--------------------------------------------------
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("^http://[_a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*$",$C_weburl))
{
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;
}
//------------------------------------------------
?>