PHP通用检测函数集合


Posted in PHP onNovember 25, 2006

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

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

PHP 相关文章推荐
PHP 高手之路(一)
Oct 09 PHP
PHP 输出缓存详解
Jun 20 PHP
PHP 变量类型的强制转换
Oct 23 PHP
PHP+FastCGI+Nginx配置PHP运行环境
Aug 07 PHP
推荐5款跨平台的PHP编辑器
Dec 25 PHP
PHP模板引擎smarty详细介绍
May 26 PHP
常见的四种POST 提交数据方式(小总结)
Oct 08 PHP
php日期操作技巧小结
Jun 25 PHP
phalcon model在插入或更新时会自动验证非空字段的解决办法
Dec 29 PHP
Laravel学习教程之从入口到输出过程详解
Aug 27 PHP
php从数据库中获取数据用ajax传送到前台的方法
Aug 20 PHP
使用tp框架和SQL语句查询数据表中的某字段包含某值
Oct 18 PHP
用PHP实现将GB编码转换为UTF8
Nov 25 #PHP
目录,文件操作详谈―PHP
Nov 25 #PHP
几个学习PHP的网址
Nov 25 #PHP
php获得文件扩展名三法
Nov 25 #PHP
用PHP查询域名状态whois的类
Nov 25 #PHP
生成静态页面的PHP类
Nov 25 #PHP
PHP静态类
Nov 25 #PHP
You might like
php 生成短网址原理及代码
2014/01/23 PHP
PHP随机获取未被微信屏蔽的域名(微信域名检测)
2017/03/19 PHP
php实现socket推送技术的示例
2017/12/20 PHP
Javascript操纵Cookie实现购物车程序
2006/11/23 Javascript
网页设计常用的一些技巧
2006/12/22 Javascript
ECMAScript 基础知识
2007/06/29 Javascript
javascript Math.random()随机数函数
2009/11/04 Javascript
jQuery 表单验证扩展代码(一)
2010/10/11 Javascript
JS远程获取网页源代码实例
2013/09/05 Javascript
jQuery中:first选择器用法实例
2014/12/30 Javascript
Angularjs中使用Filters详解
2016/03/11 Javascript
javascript中的深复制详解及实例分析
2016/12/29 Javascript
微信小程序 检查接口状态实例详解
2017/06/23 Javascript
实例讲解JS中pop使用方法
2019/01/27 Javascript
layer.alert回调函数执行关闭弹窗的实例
2019/09/11 Javascript
nuxt静态部署打包相对路径操作
2020/11/06 Javascript
JS实现点击掉落特效
2021/01/29 Javascript
Python实现的下载8000首儿歌的代码分享
2014/11/21 Python
Python搭建HTTP服务器和FTP服务器
2017/03/09 Python
Python爬虫将爬取的图片写入world文档的方法
2018/11/07 Python
python3+selenium实现126邮箱登陆并发送邮件功能
2019/01/23 Python
基于Python共轭梯度法与最速下降法之间的对比
2020/04/02 Python
详解CSS3 rem(设置字体大小) 教程
2017/11/21 HTML / CSS
Backcountry旗下的户外商品闪购网站:steep&cheap
2016/09/22 全球购物
中国领先的专业家电网购平台:国美在线
2016/12/25 全球购物
美国牙科折扣计划:DentalPlans.com
2019/08/26 全球购物
SIDESTEP荷兰:在线购买鞋子
2019/11/18 全球购物
意大利领先的奢侈品在线时装零售商:MCLABELS
2020/10/13 全球购物
运输服务质量承诺书
2014/03/27 职场文书
旅游与环境专业求职信
2014/06/05 职场文书
初级党校心得体会
2014/09/11 职场文书
大学生第一学年自我鉴定2015
2014/09/28 职场文书
2014离婚协议书范文(3篇)
2014/11/29 职场文书
2016大一新生军训感言
2015/12/08 职场文书
温馨祝福晨语:美丽的一天从我的问候开始
2019/11/28 职场文书
CentOS7安装MySQL8的超级详细教程(无坑!)
2022/06/10 Servers