Функция проверки валидности e-mail с использованием регулярных выражений RegExp (7.7). Данную функцию можно вставить в Глобальный модуль и пользоваться, например, при вводе или сохранении e-mail.
Исходный код функции:
//***********************************************************************
// глПроверкаEmail()
//
// Функция проверки валидности e-mail с использованием регулярных выражений RegExp.
//
// Параметры:
// _Email - Строка с проверяемым e-mail;
//
// Возвращаемые значения:
// 0 - Некорректный e-mail;
// 1 - Корректный e-mail.
//
Функция глПроверкаEmail(_Email) Экспорт
Если Найти(_Email, " ") > 0 Тогда // Не должно быть пробелов.
Возврат 0;
КонецЕсли;
Истина = -1;
Ложь = 0;
ШаблонEmail = "([a-z0-9_\-]+\.)*[a-z0-9_\-]+@([a-z0-9][a-z0-9\-]*[a-z0-9]\.)+[a-z]{2,4}"; // регулярное выражение соответствует произвольному e-mail адресу
Попытка
RegExp = СоздатьОбъект("VBScript.RegExp"); // создаем объект для работы с регулярными выражениями.
Исключение
Сообщить("Не удалось инициализировать VBScript.RegExp! Невозможно выполнить проверку e-mail!", "!");
Возврат 1;
КонецПопытки;
RegExp.MultiLine = Ложь; // истина — текст многострочный, ложь — одна строка.
RegExp.Global = Истина; // истина — поиск по всей строке, ложь — до первого совпадения.
RegExp.IgnoreCase = Истина; // истина — игнорировать регистр строки при поиске.
RegExp.Pattern = ШаблонEmail; // шаблон (регулярное выражение) для проверки корректности e-mail.
Если RegExp.Test(_Email) = Истина Тогда
Возврат 1;
Иначе
Возврат 0;
КонецЕсли;
КонецФункции //глПроверкаEmail(_Email)