RockLobsterInc\Swv\Rules

EmailRule::isEmail │ public static │ CF7 1.0

Returns true if the given string is a valid email address. This method follows WordPress's is_email() implementation.

Метод класса: EmailRule{}

Хуков нет.

Возвращает

null. Ничего (null).

Использование

$result = EmailRule::isEmail( $value ): bool;
$value(строка) (обязательный)
String to check.

Код EmailRule::isEmail() CF7 6.2.4.1

public static function isEmail(string $value): bool
{
    if (strlen($value) < 6) {
        return false;
    }

    if (false === strpos($value, "@", 1)) {
        return false;
    }

    [$local, $domain] = explode("@", $value, 2);

    if (!preg_match('/^[a-zA-Z0-9!#$%&\'*+\/=?^_`{|}~\.-]+$/', $local)) {
        return false;
    }

    if (preg_match("/\.{2,}/", $domain)) {
        return false;
    }

    if (trim($domain, " \t\n\r\0\x0B.") !== $domain) {
        return false;
    }

    $subs = explode(".", $domain);

    if (count($subs) < 2) {
        return false;
    }

    foreach ($subs as $sub) {
        if (trim($sub, " \t\n\r\0\x0B-") !== $sub) {
            return false;
        }

        if (!preg_match('/^[a-z0-9-]+$/i', $sub)) {
            return false;
        }
    }

    return true;
}