时间:2021-07-01 10:21:17 帮助过:7人阅读
非常好用方便的表单数据验证类
<?php //验证类 class Fun{ function isEmpty($val) { if (!is_string($val)) return false; //是否是字符串类型 if (empty($val)) return false; //是否已设定 if ($val=='') return false; //是否为空 return true; } /* ----------------------------------------------------------- 函数名称:isNumber 简要描述:检查输入的是否为数字 输入:string输出:boolean 修改日志:------ ----------------------------------------------------------- */ function isNumber($val) { if(ereg("^[0-9]+$", $val)) return true; return false; } /* ----------------------------------------------------------- 函数名称: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)) return true; return false; } /* ----------------------------------------------------------- 函数名称:isPostcode 简要描述:检查输入的是否为邮编 输入:string 输出:boolean 修改日志:------ ----------------------------------------------------------- */ function isPostcode($val) { if(ereg("^[0-9]{4,6}$",$val)) return true; return false; } /* ----------------------------------------------------------- 函数名称:isEmail 简要描述:邮箱地址合法性检查 输入:string 输出:boolean 修改日志:------ ----------------------------------------------------------- */ function isEmail($val,$domain="") { if(!$domain) { if( preg_match("/^[a-z0-9-_.]+@[\da-z][\.\w-]+\.[a-z]{2,4}$/i", $val) ) { return true; } else return false; } else { if( preg_match("/^[a-z0-9-_.]+@".$domain."$/i", $val) ) { return true; } else return false; } }//end func /* ----------------------------------------------------------- 函数名称:isName 简要描述:姓名昵称合法性检查,只能输入中文英文 输入:string 输出:boolean 修改日志:------ ----------------------------------------------------------- */ function isName($val) { if( preg_match("/^[\x80-\xffa-zA-Z0-9]{3,60}$/", $val) )//2008-7-24 { return true; } return false; }//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)) return true; return false; } /* ----------------------------------------------------------- 函数名称:isNumberLength($theelement, $min, $max) 简要描述:检查字符串长度是否符合要求 输入:mixed (字符串,最小长度,最大长度) 输出:boolean 修改日志:------ ----------------------------------------------------------- */ function isNumLength($val, $min, $max) { $theelement= trim($val); if(ereg("^[0-9]{".$min.",".$max."}$",$val)) return true; return false; } /* ----------------------------------------------------------- 函数名称:isNumberLength($theelement, $min, $max) 简要描述:检查字符串长度是否符合要求 输入:mixed (字符串,最小长度,最大长度) 输出:boolean 修改日志:------ ----------------------------------------------------------- */ function isEngLength($val, $min, $max) { $theelement= trim($val); if(ereg("^[a-zA-Z]{".$min.",".$max."}$",$val)) return true; return false; } /* ----------------------------------------------------------- 函数名称:isEnglish 简要描述:检查输入是否为英文 输入:string 输出:boolean 作者:------ 修改日志:------ ----------------------------------------------------------- */ function isEnglish($theelement) { if( ereg("[\x80-\xff].",$theelement) ) { Return false; } Return true; } /* ----------------------------------------------------------- 函数名称:isChinese 简要描述:检查是否输入为汉字 输入:string 输出:boolean 修改日志:------ ----------------------------------------------------------- */ /* function isChinese($sInBuf)//有问题的函数 { $iLen= strlen($sInBuf); for($i= 0; $i< $iLen; $i++) { if(ord($sInBuf{$i})>=0x80) { if( (ord($sInBuf{$i})>=0x81 && ord($sInBuf{$i})<=0xFE) && ((ord($sInBuf{$i+1})>=0x40 && ord($sInBuf{$i+1}) < 0x7E) || (ord($sInBuf{$i+1}) > 0x7E && ord($sInBuf{$i+1})<=0xFE)) ) { if(ord($sInBuf{$i})>0xA0 && ord($sInBuf{$i})<0xAA) { //有中文标点 return false; } } else { //有日文或其它文字 return false; } $i++; } else { return false; } } return true; }*/ function isChinese($sInBuf)//正确的函数 { if (preg_match("/^[\x7f-\xff]+$/", $sInBuf)) { //兼容gb2312,utf-8 return true; } else { return false; } } /* ----------------------------------------------------------- 函数名称:isDomain($Domain) 简要描述:检查一个(英文)域名是否合法 输入:string 域名 输出:boolean 修改日志:------ ----------------------------------------------------------- */ function isDomain($Domain) { if(!eregi("^[0-9a-z]+[0-9a-z\.-]+[0-9a-z]+$", $Domain)) { Return false; } if( !eregi("\.", $Domain)) { Return false; } if(eregi("\-\.", $Domain) or eregi("\-\-", $Domain) or eregi("\.\.", $Domain) or eregi("\.\-", $Domain)) { Return false; } $aDomain= explode(".",$Domain); if( !eregi("[a-zA-Z]",$aDomain[count($aDomain)-1]) ) { Return false; } if(strlen($aDomain[0]) > 63 || strlen($aDomain[0]) < 1) { Return false; } Return true; } /** * 验证是否日期的函数 * @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: throw new Exception( "Invalid Date Format" ); } return checkdate( $m, $d, $y ); } /* ----------------------------------------------------------- 函数名称:isDate 简要描述:检查日期是否符合0000-00-00 输入:string 输出:boolean 修改日志:------ ----------------------------------------------------------- */ function isDate($sDate) { if( ereg("^[0-9]{4}\-[][0-9]{2}\-[0-9]{2}$",$sDate) ) { Return true; } else { Return false; } } /* ----------------------------------------------------------- 函数名称: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) ) { Return true; } else { Return false; } } /* ----------------------------------------------------------- 函数名称:isMoney($val) 简要描述:检查输入值是否为合法人民币格式 输入:string 输出:boolean 修改日志:------ ----------------------------------------------------------- */ function isMoney($val) { if(ereg("^[0-9]{1,}$", $val)) return true; if( ereg("^[0-9]{1,}\.[0-9]{1,2}$", $val) ) return true; return false; } /* ----------------------------------------------------------- 函数名称:isIp($val) 简要描述:检查输入IP是否符合要求 输入:string 输出:boolean 修改日志:------ ----------------------------------------------------------- */ function isIp($val) { return(bool) ip2long($val); } //----------------------------------------------------------------------------- /** * 验证手机号 * @param int $mobile */ function valid_mobile($mobile){ if(strlen($mobile)!=11) return false; 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)){ return true; }else{ return false; } } /** * 缩略图生成函数,最好使用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格式!返回"; return false; } $im = ImageCreateFromGIF($srcFile); break; case 2: if(!function_exists("imagecreatefromjpeg")){ //echo "你的GD库不能使用jpeg格式的图片,请使用其它格式的图片!返回"; return false; } $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){ $ftoW=$toW; $ftoH=$ftoW*($srcH/$srcW); } else{ $ftoH=$toH; $ftoW=$ftoH*($srcW/$srcH); } if($srcW>$toW||$srcH>$toH) { if(function_exists("imagecreatetruecolor")){ @$ni = ImageCreateTrueColor($ftoW,$ftoH); if($ni) ImageCopyResampled($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH); else{ $ni=ImageCreate($ftoW,$ftoH); ImageCopyResized($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH); } }else{ $ni=ImageCreate($ftoW,$ftoH); ImageCopyResized($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH); } if(function_exists('imagejpeg')) ImageJpeg($ni,$toFile); else ImagePNG($ni,$toFile); ImageDestroy($ni); }else{ ImageDestroy($im); return false; } ImageDestroy($im); return true; } //去除字符串空格 static function strTrim($str) { return preg_replace("/\s/","",$str); } //验证用户名 static function userName($str,$type,$len) { $str=self::strTrim($str); if($len
以上就用php代码实现表单数据验证类的全部内容,希望大家能够喜欢。