<?

// 【变量定义规则】:‘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通用非法字符检测函数集锦的更多相关文章

  1. 总结C语言字符检测函数:isalnum、isalpha...

    前言:最近一直在刷leetcode的题,用到isalnum函数,用man手册查找了一下,总共有13个相关函数如下: #include <ctype.h> int isalnum(int c ...

  2. c字符检测函数

    isalpha(c)    /*判断是否为英文字符*/iscntrl(c)     /*判断是否为控制字符*/ isdigit(c)     /*判断是否为阿拉伯数字0到9*/isgraph(c)   ...

  3. 通用js函数集锦<来源于网络> 【二】

    通用js函数集锦<来源于网络> [二] 1.数组方法集2.cookie方法集3.url方法集4.正则表达式方法集5.字符串方法集6.加密方法集7.日期方法集8.浏览器检测方法集9.json ...

  4. 通用js函数集锦<来源于网络/自己> 【一】

    通用js函数集锦<来源于网络/自己>[一] 1.返回一个全地址2.cookie3.验证用户浏览器是否是微信浏览器4.验证用户浏览器是否是微博内置浏览器5.query string6.验证用 ...

  5. c# 检测是否有Sql非法字符

    /// <summary> /// 检测是否有Sql危险字符 /// </summary> /// <param name="str">要判断字 ...

  6. php检测非法字符方法

    检测非法字符: [第一种]: 自己搞来玩的... 简单测试了下...暂无发现什么问题...日后再多测试下....日后再更>>>

  7. windows文件名非法字符过滤检测-正则表达式

    过滤文件名非法字符 windows现在已知的文件名非法字符有 \ / : * ? " < > | var reg = new RegExp('[\\\\/:*?\"&l ...

  8. JS通用表单验证函数,基于javascript正则表达式

    表单的验证在实际的开发当中是件很烦琐又无趣的事情今天在做一个小项目的时候,需要JS验证,寻找到一个比较好的东西 地址如下: http://blog.csdn.net/goodfunman/archiv ...

  9. ctype.h库函数----字符操作函数

    在c++中使用时:  #include <cctype> 字符判断函数 1.isalnum函数--判断是否是英文字母或数字字符,如果是,则返回非0值,如果不是,则返回0. 函数参数 :可以 ...

随机推荐

  1. vue+mui+html5+ plus开发的混合应用底部导航的显示与隐藏

    1. 模板相关内容(template) <template> <div> <transition :name="transitionName"> ...

  2. POJ 1279 Art Gallery 半平面交/多边形求核

    http://poj.org/problem?id=1279 顺时针给你一个多边形...求能看到所有点的面积...用半平面对所有边取交即可,模版题 这里的半平面交是O(n^2)的算法...比较逗比.. ...

  3. C#学习第一课

    C#和Java存在很多相似之处,但是也存在一些差异.今天下午刚去图书馆借了C#的入门书籍,进过简单的入门,我了解了几点不同之处: 1. Java中的基本数据类型只有8种,数据类型不存在无符号和有符号的 ...

  4. C# 读取指定文件夹中的全部文件,并按规则生成SQL语句!

    本实例的目的在于: 1 了解怎样遍历指定文件夹中的全部文件 2 控制台怎样输入和输出数据 代码: using System; using System.IO; namespace ToSql{ cla ...

  5. 火狐—火狐浏览器中的“HttpWatch”

    在IE下通过HttpWatch能够查看HTTP请求的相关细节.这对我们分析程序的运行效率很有帮助,但是在火狐浏览器中的难道就没有相似的工具了吗?答案是否定的--火狐浏览器中也有.在火狐浏览器中该工具叫 ...

  6. Leetcode47: Palindrome Linked List

    Given a singly linked list, determine if it is a palindrome. 推断一个链表是不是回文的,一个比較简单的办法是把链表每一个结点的值存在vect ...

  7. gullo.me 的 natvps

    gullo.me 的 natvps 1. 在下面的地址中输入内网 IP,查看许可的网络资源 https://hosting.gullo.me/plugin/support_manager/knowle ...

  8. [NOI.AC#41]最短路 线性基

    链接 题解 如果不加边,两个点之间的长度是唯一的(只能走最短路径),因为如果重复走,就异或掉了. 因此,先DFS预处理一下每个点到根的距离 \(d[x]\) ,那么 \(x,y\) 之间的距离为 $d ...

  9. 一个统一将数据转换为JSON的方法

    这是我得方法: 导包: import net.sf.json.JSONArray; import net.sf.json.JSONObject; public void writeJson(Objec ...

  10. Java中的线程模型及实现方式

    概念: 线程是一个程序内部的顺序控制流 线程和进程的比较: 每个进程都有独立的代码和数据空间(进程上下文),进程切换的开销大. 线程:轻量的进程,同一类线程共享代码和数据空间,每个线程有独立的运行栈和 ...