<?php declare(strict_types=1); ini_set('display_errors', 'On'); error_reporting(-1); /** * 检查是否是日期 * * @param string $date 日期,示例:2008-08-08 * @return bool true=是日期|false=不是日期 */ function is_date(string $date): bool { $time = strtotime("$date 00:00:00"); if (is_int($time)) { $ok = date('Y-m-d', $time) === $date; } else { $ok = false; } return $ok; } /** * 检查是否是日期时间 * * @param string $datetime 日期时间,示例:2008-08-08 08:08:08 * @return bool true=是日期时间|false=不是日期时间 */ function is_datetime(string $datetime): bool { $time = strtotime($datetime); if (is_int($time)) { $ok = date('Y-m-d H:i:s', $time) === $datetime; } else { $ok = false; } return $ok; } /** * 检查是否是电子邮箱 * * @param string $email 电子邮箱 * @return bool true=是电子邮箱|false=不是电子邮箱 */ function is_email(string $email): bool { return filter_var($email, FILTER_VALIDATE_EMAIL) !== false; } /** * 检查是否是IP地址 * * @param string $ip IP地址 * @return bool true=是IP地址|false=不是IP地址 */ function is_ip(string $ip): bool { return filter_var($ip, FILTER_VALIDATE_IP) !== false; } /** * 检查是否是月份 * * @param string $month 月份,示例:2008-08 * @return bool true=是月份|false=不是月份 */ function is_month(string $month): bool { $time = strtotime("$month-01 00:00:00"); if (is_int($time)) { $ok = date('Y-m', $time) === $month; } else { $ok = false; } return $ok; } /** * 检查是否是正整数 * * @param string $int 数字(注意:允许数字前面带加号,即如果数字是正整数,那么其前面有加号也判断为正整数) * @return bool true=是正整数|false=不是正整数 */ function is_positive_int(string $int): bool { $integer = filter_var($int, FILTER_VALIDATE_INT); // 注:如果是整数字符串,filter_var()会返回int类型 if (is_int($integer)) { $ok = $integer > 0; // 进一步判断是否为正整数 } else { $ok = false; } return $ok; } /** * 检查是否是URL * * @param string $url URL * @return bool true=是URL|false=不是URL */ function is_url(string $url): bool { return filter_var($url, FILTER_VALIDATE_URL) !== false; }
Copyright © 2024 码农人生. All Rights Reserved