powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Проверка на корректность ввода e-mail адреса в TMaskEdit
20 сообщений из 20, страница 1 из 1
Проверка на корректность ввода e-mail адреса в TMaskEdit
    #39670625
verter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно заставить юзеров корректно вводить e-mail адрес в поле редактора TMaskEdit.

Маску делать не получается, потому что стоит условие, что это поле не должно быть пустым и договорились, что если e-mail не известен, то ставим дефис '-'.

Тут видится использовать событие OnValidate, чтобы более сложную обработку делать на ввод адреса:

проверять чтобы несколько адресов не вводили
проверять чтобы не было пробелов
чтобы был хотя бы 1 символ перед '@'
чтобы была хотя бы 1 точка после '@'
причём чтобы символ перед '@' не был только точкой или '?' или ещё какой нибудь фигнёй
чтобы после последней точки было как минимум 2 и максимум 3 символа и опять же не любого
и т.п. и т.д.

Может быть у кого-нибудь уже есть готовый обработчик этого дела?
Был бы очень благодарен и вообще это полезная вещь для всех.
...
Рейтинг: 0 / 0
Проверка на корректность ввода e-mail адреса в TMaskEdit
    #39670638
zinpub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
verter,

(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])

Это не ругательство :-)
...
Рейтинг: 0 / 0
Проверка на корректность ввода e-mail адреса в TMaskEdit
    #39670640
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zinpubЭто не ругательство :-)Это хуже :)
...
Рейтинг: 0 / 0
Проверка на корректность ввода e-mail адреса в TMaskEdit
    #39670641
goldmi45
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
verterНужно заставить юзеров корректно вводить e-mail адрес .....

Подтверждение введённого адреса?
На ваш взгляд адрес dsasdwecfsdfwmkvmwelkfvgeowri@mail.ru корректный?
...
Рейтинг: 0 / 0
Проверка на корректность ввода e-mail адреса в TMaskEdit
    #39670642
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
verterчтобы после последней точки было как минимум 2 и максимум 3 символаУ меня адрес рабочей почты yurock@???.corp
...
Рейтинг: 0 / 0
Проверка на корректность ввода e-mail адреса в TMaskEdit
    #39670645
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
verter,

Вставь в OnValidate это:
Код: pascal
1.
( S = '-' ) or ( Pos( '@', S ) <> 0 )

и не парься.
...
Рейтинг: 0 / 0
Проверка на корректность ввода e-mail адреса в TMaskEdit
    #39670648
Aniskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А еще есть IDN emails вида в.в.путин@президент.рф.
...
Рейтинг: 0 / 0
Проверка на корректность ввода e-mail адреса в TMaskEdit
    #39670664
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Проверка на корректность ввода e-mail адреса в TMaskEdit
    #39670672
zinpub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Vasilisk_ Прекратите проверять Email с помощью регулярных выражений!

Спорные аргументы, не всегда можно отправить письмо сразу, например это файлик с большим кол-вом адресов для создания...
...
Рейтинг: 0 / 0
Проверка на корректность ввода e-mail адреса в TMaskEdit
    #39670682
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zinpub_Vasilisk_ Прекратите проверять Email с помощью регулярных выражений!
Спорные аргументы, не всегда можно отправить письмо сразу, например это файлик с большим кол-вом адресов для создания...
Речь идёт про валидацию при ручном вводе. Ясный перец, что при автоматизированных процессах критерии другие.
...
Рейтинг: 0 / 0
Проверка на корректность ввода e-mail адреса в TMaskEdit
    #39670684
zinpub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А вот ребята проверяют...
...
Рейтинг: 0 / 0
Проверка на корректность ввода e-mail адреса в TMaskEdit
    #39670713
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можно поинтересоваться, с какой целью это делается?
Если для пакетной обработки - то на первую линию обороны достаточно самой простой регулярки, остальные можно песочить уже более медленными, но тщательными способами. А если для анального огораживания ввода от юзера - то никто не помешает ему ввести fuckthissite@admin.asshole или простой aa@bb.cc, как делаю я, когда от меня на кой-то ляд требуют вбить емейл там, где без этого можно обойтись
...
Рейтинг: 0 / 0
Проверка на корректность ввода e-mail адреса в TMaskEdit
    #39670716
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перечитал первый пост, частично ответ дан, но вопрос таки остается - какова цель? Если позарез нужен валидный адрес, то делай подтверждение через отправку на него письма с кодом активации
...
Рейтинг: 0 / 0
Проверка на корректность ввода e-mail адреса в TMaskEdit
    #39670721
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zinpubА вот ребята проверяют...Правильно. Адрес должен удовлетворять вот такому простейшему регекспу
Код: pascal
1.
.+?@[^@]+

все остальное - нафиг
...
Рейтинг: 0 / 0
Проверка на корректность ввода e-mail адреса в TMaskEdit
    #39670724
zinpub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Vasilisk_zinpubА вот ребята проверяют...Правильно. Адрес должен удовлетворять вот такому простейшему регекспу
Код: pascal
1.
.+?@[^@]+

все остальное - нафиг

Ну естественно про RFCшный - я пошутил, хотя...
...
Рейтинг: 0 / 0
Проверка на корректность ввода e-mail адреса в TMaskEdit
    #39670801
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почтовые адреса очень удобно проверять почтовым сервером, отправляя письмо. Все остальные проверки не дают гарантированного результата.
...
Рейтинг: 0 / 0
Проверка на корректность ввода e-mail адреса в TMaskEdit
    #39670931
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schiПочтовые адреса очень удобно проверять почтовым сервером, отправляя письмо. Все остальные проверки не дают гарантированного результата.
Ну ты загнул.!!
А если связи с серваком нету - пьяный тракторист плугом кабель распахал и ли летуны бандероли потеряли потопили?

Или сервак дает отворот абоненту за просрачку платежа,
________________
РЕЗЮМЕ: Надо от своей проверки отлынить и отдать её клиенту - а ля мы тебе доверяем(!)
...
Рейтинг: 0 / 0
Проверка на корректность ввода e-mail адреса в TMaskEdit
    #39670949
errorsoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Проверка на корректность ввода e-mail адреса в TMaskEdit
    #39670962
Властюга
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
errorsoft,

Ну по крайне мере враньё, про "не мерцания" они мерцают ещё как, если в правильных руках
...
Рейтинг: 0 / 0
Проверка на корректность ввода e-mail адреса в TMaskEdit
    #39670971
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GatorНу ты загнул.!!


Я такой, да

На самом деле людей интересует не корректный с точки зрения RFC адрес, а верный адрес - это две больше разницы. От того, что ты перепутал две буквы в имени ящика, адрес не перестал был корректным, но, увы, стал неверным.
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Проверка на корректность ввода e-mail адреса в TMaskEdit
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]