Функция cot_check_email в Cotonti

Функция cot_check_email предназначена для проверки корректности электронной почты. Она проверяет строку на соответствие общим правилам для формата email-адресов.

Описание функции cot_check_email

Функция cot_check_email предназначена для проверки корректности электронной почты. Она проверяет строку на соответствие общим правилам для формата email-адресов.

Код функции

/**
 * Checks the email
 *
 * @param string $res input string
 * @return bool True if email valid
 */
function cot_check_email($res)
{
      return mb_strlen($res) > 4 && preg_match('#^[\w\p{L}][\.\w\p{L}\-]*@[\w\p{L}\.\-]+\.[\w\p{L}]+$#u', $res);
}


Описание:


 

function cot_check_email($res)

Параметры:
$res (string): Строка, содержащая email-адрес, который нужно проверить.

Возвращаемое значение:
bool: Возвращает true, если email-адрес валиден, и false в противном случае.


Логика работы:

Проверка длины строки:

Функция сначала проверяет, что длина строки больше 4 символов. Это позволяет исключить слишком короткие строки, такие как одиночные символы или просто доменные части.
Проверка соответствия регулярному выражению:

Если длина строки удовлетворяет условиям, то выполняется проверка с использованием регулярного выражения.

Регулярное выражение:

regex


^[\w\p{L}][\.\w\p{L}\-]*@[\w\p{L}\.\-]+\.[\w\p{L}]+$


Оно проверяет:

Имя пользователя (до символа @): может начинаться с буквы (буква или цифра), за которой могут следовать буквы, цифры, точки, дефисы и подчеркивания.
Доменное имя (после символа @): может включать буквы, цифры, точки и дефисы.
Домен верхнего уровня (после последней точки): должно содержать хотя бы одну букву.
Это регулярное выражение поддерживает буквы в различных языках (с помощью \p{L} для Unicode), что позволяет проверять email-адреса с международными символами.

Пример использования:

$ruseremail = cot_import('ruseremail','P','TXT');

    if (!cot_check_email($ruseremail)) {
        cot_error('aut_emailtooshort', 'ruseremail');
    }

 

if (!cot_check_email($ruser['user_email']))    {
    cot_error('aut_emailtooshort', 'ruseremail');
}

 

$email = '[email protected]';

if (cot_check_email($email)) {
    echo 'Valid email address';
} else {
    echo 'Invalid email address';
}


Примечания:

Данная функция эффективно проверяет стандартные email-адреса, включая поддержку символов из других языков, благодаря использованию Unicode.

Это регулярное выражение достаточно гибко для большинства случаев, но оно не охватывает все возможные проверки, такие как валидность домена, существование почтового ящика и т.д.

2 минут чтения Administrator

Комментарии (0)

Комментарии отсутствуют
Добавление комментариев доступно только зарегистрированным пользователям

Автор контента

Administrator

Оффлайн

Administrator

Последняя авторизация: 05.07.2026 18:32

  • Страница размещена: 21.01.2025 11:09
  • Последнее обновление: 21.01.2025 11:09