时间: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代码实现表单数据验证类的全部内容,希望大家能够喜欢。