![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Маска ввода email
Lowlander © (2010-04-02 12:12:00)Подскажите, как в maskedit будет выглядеть маска для ввода майл адреса. Как не пытался, получаются неточности что сильно мешает искать в базе данных. У меня получается что то типа
aaaaaaaaaaaaaaaaaaaaa@aaaaaaaaaaaaaaaaaaaaa/.aaaaaaaaaaaaaa
но это не очень хорошо работает((
Игорь Шевченко (2010-04-03 01:28:00) [1]McSimm © (03.04.10 01:20) [30]
> текста было полтора или два экрана
write only code
McSimm (2010-04-03 01:20:00) [2]Коллеги как-то подробно занимались составлением универсальной регулярки и даже сделали ее - текста было полтора или два экрана.
antonn (2010-04-03 01:15:00) [3]а зачем именно отсеивающую, достаточно сделать удобную для пользователя подсветку о валидности емейла, но не запрещать ему (например как это сделано на форумах IPB - там при регистрации и вводе пароля "TEdit" меняет цвет рамки - не запрещает, но и предупреждает, лишний реверанс в сторону пользователя не помешает :))
DVM (2010-04-03 00:50:00) [4]Невозможно практически даже с помощью регулярных выражений создать проверку правильности e-mail адреса, успешно отсеивающую 100% неверных адресов и не отсеивающую совсем верных.
antonn (2010-04-03 00:09:00) [5]так то регекспы, а то i++...
мне-то не сложно и то и другое, и к куче фигурных скобок я привык, но вот регулярки... это как поэзия... поэзия шизофреника %)
Игорь Шевченко (2010-04-03 00:06:00) [6]antonn © (02.04.10 23:21) [24]
И после этого говорят, чтоi++ ? --i : iсложно воспринимать...
Anatoly Podgoretsky (2010-04-02 23:23:00) [7]> Омлет (02.04.2010 23:04:22) [22]
Ошибки и опечатки должна отсеивать адресная книга, особенно с подстановкой, как в OE или еще лучше как в WinMail по ранее введеным.
antonn (2010-04-02 23:21:00) [8]регулярочкой, почти по rfc 2822
[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?
Anatoly Podgoretsky (2010-04-02 23:20:00) [9]> Омлет (02.04.2010 23:02:21) [21]
Если частного случая тогда да, тогда достаточно проверки на собачку (можно что одна) и как минимум на одну точку в имени домена и то что она не последнея, а есть как минимум два символа. Есть еще проверка на некоторые недопустимые символы, но к сожалению иного они почему то оказываются допустимыми, из-за нестрогости другого ПО, в первую очередь серверов. Но я бы не стал тратить усилия, потратил бы его на более нужные вещи.
Омлет (2010-04-02 23:04:00) [10]> Anatoly Podgoretsky © (02.04.10 22:13) [20]
> В независимости от всего, сути не много, а пользы еще меньше. Гораздо опаснее ситуация, когда адрес синтактически правильный, а реально нет. Поэтому проверять смысла нет, разве что делать видимость работы.
А кто говорит, что валидатор должен отсеивать 100% неправильных адресов?
Что может, то и должен отсеивать. Хотя бы банальные опечатки.
Омлет (2010-04-02 23:02:00) [11]> Anatoly Podgoretsky © (02.04.10 21:52) [16]
Это в общем случае. Обычно же достаточно частного слачая с собакой и доменом верхеного уровня после точки.
Anatoly Podgoretsky (2010-04-02 22:13:00) [12]В независимости от всего, сути не много, а пользы еще меньше. Гораздо опаснее ситуация, когда адрес синтактически правильный, а реально нет. Поэтому проверять смысла нет, разве что делать видимость работы.
Anatoly Podgoretsky (2010-04-02 21:59:00) [13]> Smile (02.04.2010 21:45:15) [15]
Ну сам же и говоришь, про домен рф
А если пороешься то найдешь еще больше препятствий.
Это только на первый взгляд все просто.
Smile (2010-04-02 21:58:00) [14]> Anatoly Podgoretsky © (02.04.10 21:52) [16]
> Даже на знак @ проверять нельзя, поскольку есть почтовые системы без этого знака
А вот этого я, к сожалению, не знал
((
Спасибо за информацию, в любом случае проверю это в инете
Anatoly Podgoretsky (2010-04-02 21:57:00) [15]> Smile (02.04.2010 21:39:14) [14]
Например в Линуксе (sendmail) указывать часть @domain не обязательно, есть системы где недопустим символ @,
Невозможно формализовать.
Anatoly Podgoretsky (2010-04-02 21:52:00) [16]> Омлет (02.04.2010 21:21:12) [12]
Так количество противоретищих вариантов большое и не поддается формализации. Даже на знак @ проверять нельзя, поскольку есть почтовые системы без этого знака.
Smile (2010-04-02 21:45:00) [17]Ну может еще в TEdit запретить кириллицу.
Хотя с бессмысленным вводом "рф", проблема усложняется, но не настолько сложно)))
Smile (2010-04-02 21:39:00) [18]Мне кажется, что в качестве "маски ввода email" вполне могут выступить два
TEditи одинTLabel, между ними на форме)).
Первый TEdit не пропускает "@",
Label1.Caption:= '@';
Второй TEdit, также не пропускает "@"
То есть все валидно))
Затем обычный Concat
))
Игорь Шевченко (2010-04-02 21:25:00) [19]http://www.google.ru/search?hl=ru&source=hp&q=%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B0+email+%D0%BD%D0%B0+%D0%B2%D0%B0%D0%BB%D0%B8%D0%B4%D0%BD%D0%BE%D1%81%D1%82%D1%8C&lr=&aq=4&aqi=g5g-s1g4&aql=&oq=%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B0+em&gs_rfai=
Омлет (2010-04-02 21:21:00) [20]Проверка нужна для защиты от ошибок/опечаток пользователя.
Сказать, мол сам ввел неверно, сам виноват - легко. Но это порочный подход, в конечном итоге оборачивающийся большими убытками. Если есть возможность защитить от совершения ошибки - надо это сделать.