三秦IT网在线论坛's Archiver

蓝冰 发表于 2007-5-16 10:30

PHP通用检测函数集合

PHP通用检测函数集合
<P>&lt;? <BR>//【警告】:未经许可请勿随便修改 <BR>//----------------------------------------------------------------------------------- <BR>------- <BR>//----------------------------------------------------------------------------------- <BR>------- <BR>// <BR>// 【文件名】: c_check.inc <BR>// 【作 用】: 通用检测函数集 <BR>// 【作 者】: 天灰 <BR>// <BR>// 【最后修改日期】: 2001/05/11[cxx] <BR>// 【变量定义规则】:‘C_’=字符型,‘I_’=整型,‘N_’=数字型,‘L_’=布尔型,‘A_’=数 <BR>组型 <BR>//----------------------------------------------------------------------------------- <BR>------- <BR>//----------------------------------------------------------------------------------- <BR>------- <BR>// ※CheckMoney($C_Money) 检查数据是否是 <BR>99999.99格式 <BR>// ※CheckEmailAddr($C_mailaddr) 判断是否为有效邮件地 <BR>址 <BR>// ※CheckWebAddr($C_weburl) 判断是否为有效网址 <BR>// ※CheckEmpty($C_char) 判断字符串是否为空 <BR>// ※CheckLengthBetween($C_char, $I_len1, $I_len2=100) 判断是否为指定长度内 <BR>字符串 <BR>// ※CheckUser($C_user) 判断是否为合法用户名 <BR>// ※CheckPassword($C_passwd) 判断是否为合法用户密 <BR>码 <BR>// ※CheckTelephone($C_telephone) 判断是否为合法电话号 <BR>码 <BR>// ※CheckValueBetween($N_var, $N_val1, $N_val2) 判断是否是某一范围内的 <BR>合法值 <BR>// ※CheckPost($C_post) 判断是否为合法邮编(固 <BR>定长度) <BR>// ※CheckExtendName($C_filename,$A_extend) 判断上传文件的扩展名 <BR>// ※CheckImageSize($ImageFileName,$LimitSize) 检验上传图片的大小 <BR>// ※AlertExit($C_alert,$I_goback=0) 非法操作警告并退出 <BR>// ※Alert($C_alert,$I_goback=0) 非法操作警告 <BR>// ※ReplaceSpacialChar($C_char) 特殊字符替换函数 <BR>// ※ExchangeMoney($N_money) 资金转换函数 <BR>// ※WindowLocation($C_url,$C_get="",$C_getOther="") PHP中的window.location <BR>函数 <BR>//----------------------------------------------------------------------------------- <BR>------- <BR><BR><BR>//----------------------------------------------------------------------------------- <BR>------- <BR>// 函数名:CheckMoney($C_Money) <BR>// 作 用:检查数据是否是99999.99格式 <BR>// 参 数:$C_Money(待检测的数字) <BR>// 返回值:布尔值 <BR>// 备 注:无 <BR>//----------------------------------------------------------------------------------- <BR>------- <BR>function CheckMoney($C_Money) <BR>{ <BR>if (!ereg("^[0-9][.][0-9]$", $C_Money)) return false; <BR>return true; <BR>} <BR>//----------------------------------------------------------------------------------- <BR>------- <BR><BR><BR>//----------------------------------------------------------------------------------- <BR>------- <BR>// 函数名:CheckEmailAddr($C_mailaddr) <BR>// 作 用:判断是否为有效邮件地址 <BR>// 参 数:$C_mailaddr(待检测的邮件地址) <BR>// 返回值:布尔值 <BR>// 备 注:无 <BR>//----------------------------------------------------------------------------------- <BR>------- <BR>function CheckEmailAddr($C_mailaddr) <BR>{ <BR>if (!eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*$", <BR>$C_mailaddr)) <BR>//(!ereg("^[_a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*@[_a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*$", <BR>$c_mailaddr)) <BR>{ <BR>return false; <BR>} <BR>return true; <BR>} <BR>//----------------------------------------------------------------------------------- <BR>------- <BR><BR><BR>//----------------------------------------------------------------------------------- <BR>------- <BR>// 函数名:CheckWebAddr($C_weburl) <BR>// 作 用:判断是否为有效网址 <BR>// 参 数:$C_weburl(待检测的网址) <BR>// 返回值:布尔值 <BR>// 备 注:无 <BR>//----------------------------------------------------------------------------------- <BR>------- <BR>function CheckWebAddr($C_weburl) <BR>{ <BR>if (!ereg("^http://[_a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*$", $C_weburl)) <BR>{ <BR>return false; <BR>} <BR>return true; <BR>} <BR>//----------------------------------------------------------------------------------- <BR>------- <BR><BR><BR>//----------------------------------------------------------------------------------- <BR>------- <BR>// 函数名:CheckEmpty($C_char) <BR>// 作 用:判断字符串是否为空 <BR>// 参 数:$C_char(待检测的字符串) <BR>// 返回值:布尔值 <BR>// 备 注:无 <BR>//----------------------------------------------------------------------------------- <BR>------- <BR>function CheckEmptyString($C_char) <BR>{ <BR>if (!is_string($C_char)) return false; //是否是字符串类型 <BR>if (empty($C_char)) return false; //是否已设定 <BR>if ($C_char==@#@#) return false; //是否为空 <BR>return true; <BR>} <BR>//----------------------------------------------------------------------------------- <BR>------- <BR><BR>//----------------------------------------------------------------------------------- <BR>------- <BR>// 函数名:CheckLengthBetween($C_char, $I_len1, $I_len2=100) <BR>// 作 用:判断是否为指定长度内字符串 <BR>// 参 数:$C_char(待检测的字符串) <BR>// $I_len1 (目标字符串长度的下限) <BR>// $I_len2 (目标字符串长度的上限) <BR>// 返回值:布尔值 <BR>// 备 注:无 <BR>//----------------------------------------------------------------------------------- <BR>------- <BR>function CheckLengthBetween($C_cahr, $I_len1, $I_len2=100) <BR>{ <BR>$C_cahr = trim($C_cahr); <BR>if (strlen($C_cahr) &lt; $I_len1) return false; <BR>if (strlen($C_cahr) &gt; $I_len2) return false; <BR>return true; <BR>} <BR>//----------------------------------------------------------------------------------- <BR>------- <BR><BR>//----------------------------------------------------------------------------------- <BR>------- <BR>// 函数名:CheckUser($C_user) <BR>// 作 用:判断是否为合法用户名 <BR>// 参 数:$C_user(待检测的用户名) <BR>// 返回值:布尔值 <BR>// 备 注:无 <BR>//----------------------------------------------------------------------------------- <BR>------- <BR>function CheckUser($C_user) <BR>{ <BR>if (!CheckLengthBetween($C_user, 4, 20)) return false; //宽度检验 <BR>if (!ereg("^[_a-zA-Z0-9]*$", $C_user)) return false; //特殊字符检验 <BR>return true; <BR>} <BR>//----------------------------------------------------------------------------------- <BR>------- <BR><BR>//----------------------------------------------------------------------------------- <BR>------- <BR>// 函数名:CheckPassword($C_passwd) <BR>// 作 用:判断是否为合法用户密码 <BR>// 参 数:$C_passwd(待检测的密码) <BR>// 返回值:布尔值 <BR>// 备 注:无 <BR>//----------------------------------------------------------------------------------- <BR>------- <BR>function CheckPassword($C_passwd) <BR>{ <BR>if (!CheckLengthBetween($C_passwd, 4, 20)) return false; //宽度检测 <BR>if (!ereg("^[_a-zA-Z0-9]*$", $C_passwd)) return false; //特殊字符检测 <BR>return true; <BR>} <BR>//----------------------------------------------------------------------------------- <BR>------- <BR><BR>//----------------------------------------------------------------------------------- <BR>------- <BR>// 函数名:CheckTelephone($C_telephone) <BR>// 作 用:判断是否为合法电话号码 <BR>// 参 数:$C_telephone(待检测的电话号码) <BR>// 返回值:布尔值 <BR>// 备 注:无 <BR>//----------------------------------------------------------------------------------- <BR>------- <BR>function CheckTelephone($C_telephone) <BR>{ <BR>if (!ereg("^[+]?[0-9]+([xX-][0-9]+)*$", $C_telephone)) return false; <BR>return true; <BR>} <BR>//----------------------------------------------------------------------------------- <BR>------- <BR><BR><BR>//----------------------------------------------------------------------------------- <BR>------- <BR>// 函数名:CheckValueBetween($N_var, $N_val1, $N_val2) <BR>// 作 用:判断是否是某一范围内的合法值 <BR>// 参 数:$N_var 待检测的值 <BR>// $N_var1 待检测值的上限 <BR>// $N_var2 待检测值的下限 <BR>// 返回值:布尔值 <BR>// 备 注:无 <BR>//----------------------------------------------------------------------------------- <BR>------- <BR>function CheckValueBetween($N_var, $N_val1, $N_val2) <BR>{ <BR>if ($N_var &lt; $N_var1 ││ $N_var &gt; $N_var2) <BR>{ <BR>return false; <BR>} <BR>return true; <BR><BR>} <BR>//----------------------------------------------------------------------------------- <BR>------- <BR><BR><BR>//----------------------------------------------------------------------------------- <BR>------- <BR>// 函数名:CheckPost($C_post) <BR>// 作 用:判断是否为合法邮编(固定长度) <BR>// 参 数:$C_post(待check的邮政编码) <BR>// 返回值:布尔值 <BR>// 备 注:无 <BR>//----------------------------------------------------------------------------------- <BR>------- <BR>function CheckPost($C_post) <BR>{ <BR>$C_post=trim($C_post); <BR>if (strlen($C_post) == 6) <BR>{ <BR>if(!ereg("^[+]?[_0-9]*$",$C_post)) <BR>{ <BR>return true;; <BR>}else <BR>{ <BR>return false; <BR>} <BR>}else <BR>{ <BR>return false;; <BR>} <BR>} <BR>//----------------------------------------------------------------------------------- <BR>------- <BR><BR><BR>//----------------------------------------------------------------------------------- <BR>------- <BR>// 函数名:CheckExtendName($C_filename,$A_extend) <BR>// 作 用:上传文件的扩展名判断 <BR>// 参 数:$C_filename 上传的文件名 <BR>// $A_extend 要求的扩展名 <BR>// 返回值:布尔值 <BR>// 备 注:无 <BR>//----------------------------------------------------------------------------------- <BR>------- <BR>function CheckExtendName($C_filename,$A_extend) <BR>{ <BR>if(strlen(trim($C_filename)) &lt; 5) <BR>{ <BR>return 0; //返回0表示没上传图片 <BR>} <BR>$lastdot = strrpos($C_filename, "."); //取出.最后出现的位置 <BR>$extended = substr($C_filename, $lastdot+1); //取出扩展名 <BR><BR>for($i=0;$i&lt;count($A_extend);$i++) //进行检测 <BR>{ <BR>if (trim(strtolower($extended)) == trim(strtolower($A_extend[$i]))) //转换大 <BR>小写并检测 <BR>{ <BR>$flag=1; //加成功标志 <BR>$i=count($A_extend); //检测到了便停止检测 <BR>} <BR>} <BR><BR>if($flag&lt;&gt;1) <BR>{ <BR>for($j=0;$j&lt;count($A_extend);$j++) //列出允许上传的扩展名种类 <BR>{ <BR>$alarm .= $A_extend[$j]." "; <BR>} <BR>AlertExit(@#只能上传@#.$alarm.@#文件!而你上传的是@#.$extended.@#类型的文件@#); <BR>return -1; //返回-1表示上传图片的类型不符 <BR>} <BR><BR>return 1; //返回1表示图片的类型符合要求 <BR>} <BR>//----------------------------------------------------------------------------------- <BR>------- <BR><BR><BR>//----------------------------------------------------------------------------------- <BR>------- <BR>// 函数名:CheckImageSize($ImageFileName,$LimitSize) <BR>// 作 用:检验上传图片的大小 <BR>// 参 数:$ImageFileName 上传的图片名 <BR>// $LimitSize 要求的尺寸 <BR>// 返回值:布尔值 <BR>// 备 注:无 <BR>//----------------------------------------------------------------------------------- <BR>------- <BR>function CheckImageSize($ImageFileName,$LimitSize) <BR>{ <BR>$size=GetImageSize($ImageFileName); <BR>if ($size[0]&gt;$LimitSize[0] ││ $size[1]&gt;$LimitSize[1]) <BR>{ <BR>AlertExit(@#图片尺寸过大@#); <BR>return false; <BR>} <BR>return true; <BR>} <BR>//----------------------------------------------------------------------------------- <BR>------- <BR><BR><BR>//----------------------------------------------------------------------------------- <BR>------- <BR>// 函数名:Alert($C_alert,$I_goback=0) <BR>// 作 用:非法操作警告 <BR>// 参 数:$C_alert(提示的错误信息) <BR>// $I_goback(返回到那一页) <BR>// 返回值:字符串 <BR>// 备 注:无 <BR>//----------------------------------------------------------------------------------- <BR>------- <BR>function Alert($C_alert,$I_goback=0) <BR>{ <BR>if($I_goback&lt;&gt;0) <BR>{ <BR>echo "&lt;script&gt;alert(@#$C_alert@#);history.go($I_goback);&lt;/script&gt;"; <BR>} <BR>else <BR>{ <BR>echo "&lt;script&gt;alert(@#$C_alert@#);&lt;/script&gt;"; <BR>} <BR>} <BR>//----------------------------------------------------------------------------------- <BR>------- <BR><BR><BR>//----------------------------------------------------------------------------------- <BR>------- <BR>//----------------------------------------------------------------------------------- <BR>------- <BR>// 函数名:AlertExit($C_alert,$I_goback=0) <BR>// 作 用:非法操作警告 <BR>// 参 数:$C_alert(提示的错误信息) <BR>// $I_goback(返回到那一页) <BR>// 返回值:字符串 <BR>// 备 注:无 <BR>//----------------------------------------------------------------------------------- <BR>------- <BR>function AlertExit($C_alert,$I_goback=0) <BR>{ <BR>if($I_goback&lt;&gt;0) <BR>{ <BR>echo "&lt;script&gt;alert(@#$C_alert@#);history.go($I_goback);&lt;/script&gt;"; <BR>exit; <BR>} <BR>else <BR>{ <BR>echo "&lt;script&gt;alert(@#$C_alert@#);&lt;/script&gt;"; <BR>exit; <BR>} <BR>} <BR>//----------------------------------------------------------------------------------- <BR>------- <BR><BR><BR>//----------------------------------------------------------------------------------- <BR>------- <BR>// 函数名:ReplaceSpacialChar($C_char) <BR>// 作 用:特殊字符替换函数 <BR>// 参 数:$C_char(待替换的字符串) <BR>// 返回值:字符串 <BR>// 备 注:无 <BR>//----------------------------------------------------------------------------------- <BR>------- <BR>function ReplaceSpecialChar($C_char) <BR>{ <BR>$C_char=HTMLSpecialChars($C_char); //将特殊字元转成 HTML 格式。 <BR>$C_char=nl2br($C_char); //将回车替换为&lt;br&gt; <BR>$C_char=str_replace(" "," ",$C_char); //替换空格替换为 <BR>$C_char=str_replace("&lt;? ","&lt; ?",$C_char); //替换PHP标记 <BR>return $C_char; <BR>} <BR>//----------------------------------------------------------------------------------- <BR>------- <BR><BR><BR>//----------------------------------------------------------------------------------- <BR>------- <BR>// 函数名:ExchangeMoney($N_money) <BR>// 作 用:资金转换函数 <BR>// 参 数:$N_money(待转换的金额数字) <BR>// 返回值:字符串 <BR>// 备 注:本函数示例:$char=ExchangeMoney(5645132.3155) ==&gt; <BR>$char=@#¥5,645,132.31@# <BR>//----------------------------------------------------------------------------------- <BR>------- <BR>function ExchangeMoney($N_money) <BR>{ <BR>$A_tmp=explode(".",$N_money ); //将数字按小数点分成两部分,并存入数组$A_tmp <BR>$I_len=strlen($A_tmp[0]); //测出小数点前面位数的宽度 <BR><BR>if($I_len%3==0) <BR>{ <BR>$I_step=$I_len/3; //如前面位数的宽度mod 3 = 0 ,可按,分成$I_step <BR>部分 <BR>}else <BR>{ <BR>$step=($len-$len%3)/3+1; //如前面位数的宽度mod 3 != 0 ,可按,分成$I_step <BR>部分+1 <BR>} <BR><BR>$C_cur=""; <BR>//对小数点以前的金额数字进行转换 <BR>while($I_len&lt;&gt;0) <BR>{ <BR>$I_step--; <BR><BR>if($I_step==0) <BR>{ <BR>$C_cur .= substr($A_tmp[0],0,$I_len-($I_step)*3); <BR>}else <BR>{ <BR>$C_cur .= substr($A_tmp[0],0,$I_len-($I_step)*3).","; <BR>} <BR><BR>$A_tmp[0]=substr($A_tmp[0],$I_len-($I_step)*3); <BR>$I_len=strlen($A_tmp[0]); <BR>} <BR><BR>//对小数点后面的金额的进行转换 <BR>if($A_tmp[1]=="") <BR>{ <BR>$C_cur .= ".00"; <BR>}else <BR>{ <BR>$I_len=strlen($A_tmp[1]); <BR>if($I_len&lt;2) <BR>{ <BR>$C_cur .= ".".$A_tmp[1]."0"; <BR>}else <BR>{ <BR>$C_cur .= ".".substr($A_tmp[1],0,2); <BR>} <BR>} <BR><BR>//加上人民币符号并传出 <BR>$C_cur="¥".$C_cur; <BR>return $C_cur; <BR>} <BR>//----------------------------------------------------------------------------------- <BR>------- <BR><BR><BR>//----------------------------------------------------------------------------------- <BR>------ <BR>// 函数名:WindowLocation($C_url,$C_get="",$C_getOther="") <BR>// 作 用:PHP中的window.location函数 <BR>// 参 数:$C_url 转向窗口的URL <BR>// $C_get GET方法参数 <BR>// $C_getOther GET方法的其他参数 <BR>// 返回值: 字符串 <BR>// 备 注:无 <BR>//----------------------------------------------------------------------------------- <BR>----- <BR>function WindowLocation($C_url,$C_get="",$C_getOther="") <BR>{ <BR>if($C_get == "" &amp;&amp; $C_getOther == "") <BR>if($C_get == "" &amp;&amp; $C_getOther &lt;&gt; ""){$C_target=""window.location=@#$C_url? <BR>$C_getOther=@#+this.value"";} <BR>if($C_get &lt;&gt; "" &amp;&amp; $C_getOther == ""){$C_target=""window.location=@#$C_url? <BR>$C_get@#"";} <BR>if($C_get &lt;&gt; "" &amp;&amp; $C_getOther &lt;&gt; ""){$C_target=""window.location=@#$C_url? <BR>$C_get&amp;$C_getOther=@#+this.value"";} <BR>return $C_target; <BR>} <BR>//----------------------------------------------------------------------------------- <BR>----- <BR><BR>?&gt;</P>

想飞的石头 发表于 2007-9-4 22:30

经典...已收藏...待测试.

页: [1]



Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.