Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
13 дек 2024, 05:32

Поле почты, защита от дурака

Автор gers, 06 июн 2021, 12:38

0 Пользователей и 1 гость просматривают эту тему.

gers

Нужно реализовать правильный ввод или проверку поля почты. Значение должно быть с знаком "@" и знаком "." после.(Возможно ли сделать это через маску?)
Пример:
aaaaa@aaa.aa
bbab@asd.qew
rr@ff.pp

antoneus

Регулярками можно проверить. В типовых конфах есть функции проверки корректности заполнения.

gers

Да нашел проверку с помощью регулярных выражений. Теперь осталось правильно подобрать, //Шаблон1 =".+@.+\..+";// не совсем корректно работает(например "gdd@du@sf.ru" пропускает). //Шаблон// почему то вообще все в некорректные отсылает.

&НаКлиенте
Процедура ПочтаПриИзменении(Элемент)

ОчиститьСообщения();
Шаблон1 =".+@.+\..+";
Шаблон = "/\A[^@]+@([^@\.]+\.)+[^@\.]+\z/"; // регулярное выражение соответствует произвольному e-mail адресу

СтрокаАдреса = Объект.Почта; // проверяемый адрес
//CтрокаАдреса = ЭлементыФормы.ПолеВводаАдреса.Значение;  //проверяемый адрес для элемента формы

RegExp = Новый COMОбъект("VBScript.RegExp"); // создаем объект для работы  с регулярными выражениями
RegExp.MultiLine = Ложь;    // истина — текст многострочный, ложь — одна строка
RegExp.Global = Истина;     // истина — поиск по всей строке, ложь — до первого совпадения
RegExp.IgnoreCase = Истина; // истина — игнорировать регистр строки при поиске
RegExp.Pattern = Шаблон1;    // шаблон (регулярное выражение) для проверки  корректности e-mail
Если RegExp.Test(СтрокаАдреса) Тогда
     Сообщить("Корректный адрес");
Иначе
     Сообщить("Некорректный адрес");
КонецЕсли; 

КонецПроцедуры

Теги: Маска 

Похожие темы (5)

Рейтинг@Mail.ru

Поиск