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算开始时间到过期时间的相隔的天数
Jan 12 PHP
支持中文和其他编码的php截取字符串函数分享(截取中文字符串)
Mar 13 PHP
PHP把JPEG图片转换成Progressive JPEG的方法
Jun 30 PHP
php合并数组中相同元素的方法
Nov 13 PHP
PHP获取数组最后一个值的2种方法
Jan 21 PHP
PHP数组与对象之间使用递归实现转换的方法
Jun 24 PHP
php函数mkdir实现递归创建层级目录
Oct 27 PHP
PHP反射机制原理与用法详解
Feb 15 PHP
Centos 6.5下PHP 5.3安装ffmpeg扩展的步骤详解
Mar 02 PHP
Redis构建分布式锁
Mar 28 PHP
Laravel框架Eloquent ORM修改数据操作示例
Dec 03 PHP
php使用自带dom扩展进行元素匹配的原理解析
May 29 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
全国FM电台频率大全 - 15 山东省
2020/03/11 无线电
PHP连接access数据库
2008/03/27 PHP
解析PHP中的unset究竟会不会释放内存
2013/07/18 PHP
浅析php中三个等号(===)和两个等号(==)的区别
2013/08/06 PHP
thinkPHP自动验证机制详解
2016/12/05 PHP
Javascript日期对象的dateAdd与dateDiff方法
2008/11/18 Javascript
javascript真的不难-回顾一下基础知识
2013/01/15 Javascript
JS 获取select(多选下拉)中所选值的示例代码
2013/08/02 Javascript
js 点击页面其他地方关闭弹出层(示例代码)
2013/12/24 Javascript
浅谈js 闭包引起的内存泄露问题
2015/06/22 Javascript
JS实现仿新浪微博发布内容为空时提示功能代码
2015/08/19 Javascript
js纯数字逐一停止显示效果的实现代码
2016/03/16 Javascript
JS原型对象的创建方法详解
2016/06/16 Javascript
利用JavaScript判断浏览器类型及版本
2016/08/23 Javascript
jQuery实现链接的title快速出现的方法
2017/02/20 Javascript
Ext JS 实现建议词模糊动态搜索功能
2017/05/13 Javascript
Vue仿手机qq的实例代码(demo)
2017/09/08 Javascript
用原生 JS 实现 innerHTML 功能实例详解
2019/04/03 Javascript
vue获取时间戳转换为日期格式代码实例
2019/04/17 Javascript
Python数组条件过滤filter函数使用示例
2014/07/22 Python
python 打印对象的所有属性值的方法
2016/09/11 Python
Python实现模拟登录网易邮箱的方法示例
2018/07/05 Python
python使用SQLAlchemy操作MySQL
2020/01/02 Python
python读取tif图片时保留其16bit的编码格式实例
2020/01/13 Python
Python如何测试stdout输出
2020/08/10 Python
pycharm中选中一个单词替换所有重复单词的实现方法
2020/11/17 Python
CSS3悬停效果案例应用
2012/11/21 HTML / CSS
阿根廷票务网站:StubHub阿根廷
2018/04/13 全球购物
智能电子应届生求职信
2013/11/10 职场文书
开业庆典答谢词
2014/01/18 职场文书
广告词串烧
2014/03/19 职场文书
大一新生学期自我评价
2014/04/09 职场文书
企业安全生产演讲稿
2014/05/09 职场文书
十八大演讲稿
2014/05/22 职场文书
新员工入职欢迎词
2015/01/23 职场文书
导游词之南京中山陵
2019/11/27 职场文书