热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PHP通用检测函数集合-PHP源码

ec(2);<?php【警告】:未经许可请勿随便修改【文件名】:c_check.inc【作用】:通用检测函数集【作者】:天灰【最后修改日期】:20010511[cxx]【变量定义规则】:‘C_’字符型,‘I_’整型,‘N_’数字型,


//【警告】:未经许可请勿随便修改
// 【文件名】: 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 {
if (trim(strtolower($extended)) == trim(strtolower($A_extend[$i]))) //转换大
小写并检测
{
$flag=1; //加成功标志
$i=count($A_extend); //检测到了便停止检测
}
}
if($flag<>1)
{
for($j=0;$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 "";
}
else
{
echo "";
}
}



// 函数名:AlertExit($C_alert,$I_goback=0)
// 作 用:非法操作警告
// 参 数:$C_alert(提示的错误信息)
// $I_goback(返回到那一页)
// 返回值:字符串
// 备 注:无
function AlertExit($C_alert,$I_goback=0)
{
if($I_goback<>0)
{
echo "";
exit;
}
else
{
echo "";
exit;
}
}



// 函数名:ReplaceSpacialChar($C_char)
// 作 用:特殊字符替换函数
// 参 数:$C_char(待替换的字符串)
// 返回值:字符串
// 备 注:无

function ReplaceSpecialChar($C_char)
{
$C_char=HTMLSpecialChars($C_char); //将特殊字元转成 HTML 格式。
$C_char=nl2br($C_char); //将回车替换为

$C_char=str_replace(" "," ",$C_char); //替换空格替换为
$C_char=str_replace(" 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;
}
?>
推荐阅读
  • Monkey《大话移动——Android与iOS应用测试指南》的预购信息发布啦!
    Monkey《大话移动——Android与iOS应用测试指南》的预购信息已经发布,可以在京东和当当网进行预购。感谢几位大牛给出的书评,并呼吁大家的支持。明天京东的链接也将发布。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • Oracle Database 10g许可授予信息及高级功能详解
    本文介绍了Oracle Database 10g许可授予信息及其中的高级功能,包括数据库优化数据包、SQL访问指导、SQL优化指导、SQL优化集和重组对象。同时提供了详细说明,指导用户在Oracle Database 10g中如何使用这些功能。 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
author-avatar
小妖2502898957
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有