<?
class validator
{
function __construct()
{
}
/**
* is email address
*
* @param string $string
* @param bool $required
* @return bool
*/
public static function isEmail ($string, $required = false)
{
$isRightFormat = false;
if($string == '' && $required ===false)
{
$isRightFormat = true;
}
$exp_match = '/([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)/';
$isRightFormat = preg_match($exp_match, $string) ? true : false;
return $isRightFormat;
}
/**
* is Http url format
*
* @param string $string
* @param bool $required
* @return bool
*/
public static function isHttpUrl ($string, $required =false)
{
$isRightFormat = false;
if($string =='' && $required ===false)
{
$isRightFormat = true;
}
$exp_match = '/^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/';
$isRightFormat = preg_math($exp_match, $string) ? true : false;
return $isRightFormat;
}
/**
* is cellphone number
*
* @param string $string
* @param bool $required
* @return bool
*/
public static function isCellPhone ($string, $required = false)
{
$isRightFormat = false;
if($string == '' && $required ===false)
{
$isRightFormat = true;
}
$exp_match = '/^((\(\d{3}\))|(\d{3}\-))?1[3,5]\d{9}$/';
$isRightFormat = preg_match($exp_match, $string) ? true : false;
return $isRightFormat;
}
/**
* is phone number
*
* @param string $string
* @param bool $required
* @return bool
*/
public static function isPhone ($string, $required = false)
{
$isRightFormat = false;
if($string == "" && $required === false)
{
$isRightFormat = true;
}
$exp_match = '/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/';
$isRightFormat = preg_match($exp_match, $string) ? true : false;
return $isRightFormat;
}
/**
* Is zip code
*
* @param string $string
* @param bool $required
* @return bool
*/
public static function isZipCode ($string, $required =false)
{
$isRightFormat = false;
if($string == '' && $required ===false)
{
$isRightFormat = true;
}
$exp_match = '/[0-9]{6}/';
$isRightFormat = preg_match($exp_match, $string) ? true : false;
return $isRightFormat;
}
/**
* Is id card
*
* @param string $string
* @param bool $required
* @return bool
*/
public static function isIdCard ($string, $required = false)
{
$isRightFormat = false;
if($string == '' && $required === false)
{
$isRightFormat = true;
}
$exp_match = '/(^([\d]{15}|[\d]{18}|[\d]{17}[xX]{1})$)/';
$isRightFormat = preg_match($exp_match, $string) ? true : false;
return $isRightFormat;
}
/**
* Is date
*
* @param string $string
* @param bool $required
* @return bool
*/
public static function isDateFormat ($string, $required = false)
{
$isRightFormat = false;
if($string == '' && $required === false)
{
$isRightFormat = true;
}
$exp_match = '/^[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}$/';
if(preg_match($exp_match, $string))
{
$dateArray = explode('-', $string);
$isRightFormat = checkdate($dateArray[1], $dateArray[2], $dateArray[0]) ? true : false;
}
return $isRightFormat;
}
/**
* Is Range of time
*
* @param string $start
* @param string $end
* @return bool
*/
public static function isRangeTime ($start, $end)
{
$isRightFormat = false;
if(self::isDateFormat($start) && self::isDateFormat($end))
{
$isRightFormat = strtotime($end) - strtotime($start) > 0 ? true : false;
}
return $isRightFormat;
}
/**
* money format
*
* @param string $string
* @param bool $required
* @return bool
*/
public static function isMoney ($string, $required = false)
{
$isRightFormat = true;
if($string == '' && $required === false)
{
$isRightFormat = true;
}
$exp_match = '/^[0-9]{1,8}[.]{0,1}[0-9]{0,2}$/';
$isRightFormat = preg_match($exp_match, $string) ? true : false;
return $isRightFormat;
}
/**
* Is numeric
*
* @param string $string
* @param int $min
* @param int $max
* @param bool $required
* @return bool
*/
public static function isInt ($string, $min = 0, $max = 0, $required = false)
{
$isRightFormat = false;
if($string == '' && $required ===false)
{
$isRightFormat = true;
}
if(is_numeric($string))
{
$isRightFormat = ($min == 0 && $max ==0 ? true : ($string > $min && $string < $max ? true : false));
}
return $isRightFormat;
}
//end of class
}
?>