php表单数据验证类
程序员文章站
2024-02-03 09:40:52
...
非常好用方便的表单数据验证类
php //验证类class Fun{ function isEmpty($val) { if (!is_string($val)) returnfalse; //是否是字符串类型 if (empty($val)) returnfalse; //是否已设定 if ($val=='') returnfalse; //是否为空 returntrue; } /* ----------------------------------------------------------- 函数名称:isNumber 简要描述:检查输入的是否为数字 输入:string 输出:boolean 修改日志:------ ----------------------------------------------------------- */function isNumber($val) { if(ereg("^[0-9]+$", $val)) returntrue; returnfalse; } /* ----------------------------------------------------------- 函数名称:isPhone 简要描述:检查输入的是否为电话 输入:string 输出:boolean 修改日志:------ ----------------------------------------------------------- */function isPhone($val) { //eg: xxx-xxxxxxxx-xxx | xxxx-xxxxxxx-xxx ... if(ereg("^((0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$",$val)) returntrue; returnfalse; } /* ----------------------------------------------------------- 函数名称:isPostcode 简要描述:检查输入的是否为邮编 输入:string 输出:boolean 修改日志:------ ----------------------------------------------------------- */function isPostcode($val) { if(ereg("^[0-9]{4,6}$",$val)) returntrue; returnfalse; } /* ----------------------------------------------------------- 函数名称:isEmail 简要描述:邮箱地址合法性检查 输入:string 输出:boolean 修改日志:------ ----------------------------------------------------------- */function isEmail($val,$domain="") { if(!$domain) { if( preg_match("/^[a-z0-9-_.]+@[\da-z][\.\w-]+\.[a-z]{2,4}$/i", $val) ) { returntrue; } elsereturnfalse; } else { if( preg_match("/^[a-z0-9-_.]+@".$domain."$/i", $val) ) { returntrue; } elsereturnfalse; } }//end func /* ----------------------------------------------------------- 函数名称:isName 简要描述:姓名昵称合法性检查,只能输入中文英文 输入:string 输出:boolean 修改日志:------ ----------------------------------------------------------- */function isName($val) { if( preg_match("/^[\x80-\xffa-zA-Z0-9]{3,60}$/", $val) )//2008-7-24 { returntrue; } returnfalse; }//end func /* ----------------------------------------------------------- 函数名称:isStrLength($theelement, $min, $max) 简要描述:检查字符串长度是否符合要求 输入:mixed (字符串,最小长度,最大长度) 输出:boolean 修改日志:------ ----------------------------------------------------------- */function isStrLength($val, $min, $max) { $theelement= trim($val); if(ereg("^[a-zA-Z0-9]{".$min.",".$max."}$",$val)) returntrue; returnfalse; } /* ----------------------------------------------------------- 函数名称:isNumberLength($theelement, $min, $max) 简要描述:检查字符串长度是否符合要求 输入:mixed (字符串,最小长度,最大长度) 输出:boolean 修改日志:------ ----------------------------------------------------------- */function isNumLength($val, $min, $max) { $theelement= trim($val); if(ereg("^[0-9]{".$min.",".$max."}$",$val)) returntrue; returnfalse; } /* ----------------------------------------------------------- 函数名称:isNumberLength($theelement, $min, $max) 简要描述:检查字符串长度是否符合要求 输入:mixed (字符串,最小长度,最大长度) 输出:boolean 修改日志:------ ----------------------------------------------------------- */function isEngLength($val, $min, $max) { $theelement= trim($val); if(ereg("^[a-zA-Z]{".$min.",".$max."}$",$val)) returntrue; returnfalse; } /* ----------------------------------------------------------- 函数名称:isEnglish 简要描述:检查输入是否为英文 输入:string 输出:boolean 作者:------ 修改日志:------ ----------------------------------------------------------- */function isEnglish($theelement) { if( ereg("[\x80-\xff].",$theelement) ) { Returnfalse; } Returntrue; } /* ----------------------------------------------------------- 函数名称:isChinese 简要描述:检查是否输入为汉字 输入:string 输出:boolean 修改日志:------ ----------------------------------------------------------- *//* function isChinese($sInBuf)//有问题的函数 { $iLen= strlen($sInBuf); for($i= 0; $i=0x80) { if( (ord($sInBuf{$i})>=0x81 && ord($sInBuf{$i})=0x40 && ord($sInBuf{$i+1}) 0x7E && ord($sInBuf{$i+1})0xA0 && ord($sInBuf{$i})*/function isChinese($sInBuf)//正确的函数 { if (preg_match("/^[\x7f-\xff]+$/", $sInBuf)) { //兼容gb2312,utf-8 returntrue; } else { returnfalse; } } /* ----------------------------------------------------------- 函数名称:isDomain($Domain) 简要描述:检查一个(英文)域名是否合法 输入:string 域名 输出:boolean 修改日志:------ ----------------------------------------------------------- */function isDomain($Domain) { if(!eregi("^[0-9a-z]+[0-9a-z\.-]+[0-9a-z]+$", $Domain)) { Returnfalse; } if( !eregi("\.", $Domain)) { Returnfalse; } if(eregi("\-\.", $Domain) or eregi("\-\-", $Domain) or eregi("\.\.", $Domain) or eregi("\.\-", $Domain)) { Returnfalse; } $aDomain= explode(".",$Domain); if( !eregi("[a-zA-Z]",$aDomain[count($aDomain)-1]) ) { Returnfalse; } if(strlen($aDomain[0]) > 63 || strlen($aDomain[0]) ) { Returnfalse; } Returntrue; } /** * 验证是否日期的函数 * @param unknown_type $date * @param unknown_type $format * @throws Exception * @return boolean */function validateDate( $date, $format='YYYY-MM-DD') { switch( $format ) { case 'YYYY/MM/DD': case 'YYYY-MM-DD': list( $y, $m, $d ) = preg_split( '/[-./ ]/', $date ); break; case 'YYYY/DD/MM': case 'YYYY-DD-MM': list( $y, $d, $m ) = preg_split( '/[-./ ]/', $date ); break; case 'DD-MM-YYYY': case 'DD/MM/YYYY': list( $d, $m, $y ) = preg_split( '/[-./ ]/', $date ); break; case 'MM-DD-YYYY': case 'MM/DD/YYYY': list( $m, $d, $y ) = preg_split( '/[-./ ]/', $date ); break; case 'YYYYMMDD': $y = substr( $date, 0, 4 ); $m = substr( $date, 4, 2 ); $d = substr( $date, 6, 2 ); break; case 'YYYYDDMM': $y = substr( $date, 0, 4 ); $d = substr( $date, 4, 2 ); $m = substr( $date, 6, 2 ); break; default: thrownewException( "Invalid Date Format" ); } returncheckdate( $m, $d, $y ); } /* ----------------------------------------------------------- 函数名称:isDate 简要描述:检查日期是否符合0000-00-00 输入:string 输出:boolean 修改日志:------ ----------------------------------------------------------- */function isDate($sDate) { if( ereg("^[0-9]{4}\-[][0-9]{2}\-[0-9]{2}$",$sDate) ) { Returntrue; } else { Returnfalse; } } /* ----------------------------------------------------------- 函数名称:isTime 简要描述:检查日期是否符合0000-00-00 00:00:00 输入:string 输出:boolean 修改日志:------ ----------------------------------------------------------- */function isTime($sTime) { if( ereg("^[0-9]{4}\-[][0-9]{2}\-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}$",$sTime) ) { Returntrue; } else { Returnfalse; } } /* ----------------------------------------------------------- 函数名称:isMoney($val) 简要描述:检查输入值是否为合法人民币格式 输入:string 输出:boolean 修改日志:------ ----------------------------------------------------------- */function isMoney($val) { if(ereg("^[0-9]{1,}$", $val)) returntrue; if( ereg("^[0-9]{1,}\.[0-9]{1,2}$", $val) ) returntrue; returnfalse; } /* ----------------------------------------------------------- 函数名称:isIp($val) 简要描述:检查输入IP是否符合要求 输入:string 输出:boolean 修改日志:------ ----------------------------------------------------------- */function isIp($val) { return(bool) ip2long($val); } //----------------------------------------------------------------------------- /** * 验证手机号 * @param int $mobile */function valid_mobile($mobile){ if(strlen($mobile)!=11) returnfalse; if(preg_match('/13[0-9]\d{8}|15[0|1|2|3|5|6|7|8|9]\d{8}|18[0|5|6|7|8|9]\d{8}/',$mobile)){ returntrue; }else{ returnfalse; } } /** * 缩略图生成函数,最好使用GD2 * * @param string $srcFile 要生成缩略图的文件 * @param int $toW 缩略图宽度 * @param int $toH 缩略图高度 * @param string $toFile 缩略图文件 */function ImageResize($srcFile,$toW,$toH,$toFile=""){ if($toFile==""){ $toFile = $srcFile; } $info = ""; $data = GetImageSize($srcFile,$info); switch ($data[2]){ case 1: if(!function_exists("imagecreatefromgif")){ //echo "你的GD库不能使用GIF格式的图片,请使用Jpeg或PNG格式!返回"; returnfalse; } $im = ImageCreateFromGIF($srcFile); break; case 2: if(!function_exists("imagecreatefromjpeg")){ //echo "你的GD库不能使用jpeg格式的图片,请使用其它格式的图片!返回"; returnfalse; } $im = ImageCreateFromJpeg($srcFile); break; case 3: $im = ImageCreateFromPNG($srcFile); break; } $srcW=ImageSX($im); $srcH=ImageSY($im); $toWH=$toW/$toH; $srcWH=$srcW/$srcH; if($toWH$srcWH