1
0
mirror of https://gitee.com/koogua/course-tencent-cloud.git synced 2025-06-24 04:01:31 +08:00
2023-05-03 15:18:54 +08:00

118 lines
2.4 KiB
PHP

<?php
/**
* @copyright Copyright (c) 2021 深圳市酷瓜软件有限公司
* @license https://opensource.org/licenses/GPL-2.0
* @link https://www.koogua.com
*/
namespace App\Library\Validators;
class Common
{
public static function in($needle, $haystack)
{
return in_array($needle, $haystack);
}
public static function between($value, $min, $max)
{
return $max >= $value && $min <= $value;
}
public static function equals($a, $b)
{
return $a == $b;
}
public static function email($str)
{
return filter_var($str, FILTER_VALIDATE_EMAIL) !== false;
}
public static function url($str)
{
if (strpos($str, '//') === 0) {
$str = 'http:' . $str;
}
return filter_var($str, FILTER_VALIDATE_URL) !== false;
}
public static function intNumber($value)
{
return filter_var($value, FILTER_VALIDATE_INT) !== false;
}
public static function floatNumber($value)
{
if (filter_var($value, FILTER_VALIDATE_FLOAT) === false) {
return false;
}
if (strpos($value, '.') === false) {
return false;
}
$head = strstr($value, '.', true);
if ($head[0] == '0' && strlen($head) > 1) {
return false;
}
return true;
}
public static function positiveNumber($value)
{
if (!self::intNumber($value)) {
return false;
}
return $value > 0;
}
public static function idCard($str)
{
$validator = new IdCard();
return $validator->validate($str);
}
public static function phone($str)
{
$pattern = '/^1[2-9][0-9]{9}$/';
return (bool)preg_match($pattern, $str);
}
public static function name($str)
{
$pattern = '/^[\x{4e00}-\x{9fa5}A-Za-z0-9]{2,15}$/u';
return (bool)preg_match($pattern, $str);
}
public static function password($str)
{
$pattern = '/^[[:graph:]]{6,16}$/';
return (bool)preg_match($pattern, $str);
}
public static function birthday($str)
{
$pattern = '/^(19|20)\d{2}-(1[0-2]|0[1-9])-(0[1-9]|[1-2][0-9]|3[0-1])$/';
return (bool)preg_match($pattern, $str);
}
public static function date($str, $format = 'Y-m-d')
{
$date = date($format, strtotime($str));
return $str == $date;
}
}