<?php declare(strict_types=1); namespace openvk\Web\Util; use Chandler\Patterns\TSimpleSingleton; class Validator { function emailValid(string $email): bool { if(empty($email)) return false; $email = trim($email); [$user, $domain] = explode("@", $email); if(is_null($domain)) return false; if(iconv_strlen($user) > 64) return false; $domain = idn_to_ascii($domain) . "."; return checkdnsrr($domain, "MX"); } function telegramValid(string $telegram): bool { return (bool) preg_match("/^(?:t.me\/|@)?([a-zA-Z0-9_]{0,32})$/", $telegram); } function passwordStrong(string $password): bool{ return (bool) preg_match("/^(?=.*[A-Z])(?=.*[0-9])(?=.*[a-z]).{8,}$/", $password); } use TSimpleSingleton; }