非常好用方便的表单数据验证类
<?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;