Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Вниз

Маска ввода email   Найти похожие ветки 

 
Lowlander ©   (2010-04-02 12:12) [0]

Подскажите, как в maskedit будет выглядеть маска для ввода майл адреса. Как не пытался, получаются неточности что сильно мешает искать в базе данных. У меня получается что то типа
aaaaaaaaaaaaaaaaaaaaa@aaaaaaaaaaaaaaaaaaaaa/.aaaaaaaaaaaaaa
но это не очень хорошо работает((


 
Anatoly Podgoretsky ©   (2010-04-02 12:32) [1]

> Lowlander  (02.04.2010 12:12:00)  [0]

Как то микрософт и прочие фирмы в своих клиентах обходятся без каких либо масок, и никто не умер


 
Lowlander ©   (2010-04-02 12:41) [2]

Я тоже могу обойтись, не не критично, но разобраться хочется)


 
KSergey ©   (2010-04-02 13:00) [3]

а почему это мешает искать-то в базе? не понятно


 
Имяозер   (2010-04-02 13:11) [4]

Не надо маску, делай валидатор.


 
Anatoly Podgoretsky ©   (2010-04-02 13:36) [5]

> Имяозер  (02.04.2010 13:11:04)  [4]

Не надо валидатор, пользы мало, разве проверить, что есть символ @


 
Демо ©   (2010-04-02 15:47) [6]


> Lowlander ©   (02.04.10 12:12) 


Проверять формат "постфактум" - после ввода.
Достаточно будет проверить наличие "@" и одной точки после...


 
Игорь Шевченко ©   (2010-04-02 15:52) [7]

Демо ©   (02.04.10 15:47) [6]

Фиг

!!!??&&@&&@@@@@.*******$#%@****.......верный-блин-емайл.com


 
Anatoly Podgoretsky ©   (2010-04-02 17:56) [8]

> Демо  (02.04.2010 15:47:06)  [6]

На точку не надо проверять, не все сервера имеют точку в название.
Вообще законодателем здесь известные почтовые программы, отклонение поведения по крайней мере будет казаться странным.
По сути и на @ проверять тоже не нужно, не все системы содержат этот символ, но они уже скорее мертвы, чем живы.


 
Anatoly Podgoretsky ©   (2010-04-02 17:57) [9]

> Игорь Шевченко  (02.04.2010 15:52:07)  [7]

Точно верный?


 
Игорь Шевченко ©   (2010-04-02 17:58) [10]

Anatoly Podgoretsky ©   (02.04.10 17:57) [9]

по проверке [6] - безусловно


 
Anatoly Podgoretsky ©   (2010-04-02 18:23) [11]

> Игорь Шевченко  (02.04.2010 17:58:10)  [10]

Вот поэтому я и говорю нефига проверять, пусть сервер разбирается.


 
Омлет ©   (2010-04-02 21:21) [12]

Проверка нужна для защиты от ошибок/опечаток пользователя.
Сказать, мол сам ввел неверно, сам виноват - легко. Но это порочный подход, в конечном итоге оборачивающийся большими убытками. Если есть возможность защитить от совершения ошибки - надо это сделать.


 
Игорь Шевченко ©   (2010-04-02 21:25) [13]

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=


 
Smile   (2010-04-02 21:39) [14]

Мне кажется, что в качестве "маски ввода email" вполне могут выступить два TEdit и один TLabel, между ними на форме)).
Первый TEdit не пропускает "@",
 Label1.Caption:=  "@";
Второй TEdit, также не пропускает "@"

То есть все валидно))
Затем обычный Concat
))


 
Smile   (2010-04-02 21:45) [15]

Ну может еще в TEdit запретить кириллицу.
Хотя с бессмысленным вводом "рф", проблема усложняется, но не настолько сложно)))


 
Anatoly Podgoretsky ©   (2010-04-02 21:52) [16]

> Омлет  (02.04.2010 21:21:12)  [12]

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


 
Anatoly Podgoretsky ©   (2010-04-02 21:57) [17]

> Smile  (02.04.2010 21:39:14)  [14]

Например в Линуксе (sendmail) указывать часть @domain не обязательно, есть системы где недопустим символ @,
Невозможно формализовать.


 
Smile   (2010-04-02 21:58) [18]

> Anatoly Podgoretsky ©   (02.04.10 21:52) [16]
> Даже на знак @ проверять нельзя, поскольку есть почтовые системы без этого знака


А вот этого я, к сожалению, не знал
((
Спасибо за информацию, в любом случае проверю это в инете


 
Anatoly Podgoretsky ©   (2010-04-02 21:59) [19]

> Smile  (02.04.2010 21:45:15)  [15]

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


 
Anatoly Podgoretsky ©   (2010-04-02 22:13) [20]

В независимости от всего, сути не много, а пользы еще меньше. Гораздо опаснее ситуация, когда адрес синтактически правильный, а реально нет. Поэтому проверять смысла нет, разве что делать видимость работы.


 
Омлет ©   (2010-04-02 23:02) [21]

> Anatoly Podgoretsky ©   (02.04.10 21:52) [16]

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


 
Омлет ©   (2010-04-02 23:04) [22]

> Anatoly Podgoretsky ©   (02.04.10 22:13) [20]
> В независимости от всего, сути не много, а пользы еще меньше. Гораздо опаснее ситуация, когда адрес синтактически правильный, а реально нет. Поэтому проверять смысла нет, разве что делать видимость работы.


А кто говорит, что валидатор должен отсеивать 100% неправильных адресов?
Что может, то и должен отсеивать. Хотя бы банальные опечатки.


 
Anatoly Podgoretsky ©   (2010-04-02 23:20) [23]

> Омлет  (02.04.2010 23:02:21)  [21]

Если частного случая тогда да, тогда достаточно проверки на собачку (можно что одна) и как минимум на одну точку в имени домена и то что она не последнея, а есть как минимум два символа. Есть еще проверка на некоторые недопустимые символы, но к сожалению иного они почему то оказываются допустимыми, из-за нестрогости другого ПО, в первую очередь серверов. Но я бы не стал тратить усилия, потратил бы его на более нужные вещи.


 
antonn ©   (2010-04-02 23:21) [24]

регулярочкой, почти по 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:23) [25]

> Омлет  (02.04.2010 23:04:22)  [22]

Ошибки и опечатки должна отсеивать адресная книга, особенно с подстановкой, как в OE или еще лучше как в WinMail по ранее введеным.


 
Игорь Шевченко ©   (2010-04-03 00:06) [26]

antonn ©   (02.04.10 23:21) [24]

И после этого говорят, что i++ ? --i : i сложно воспринимать...


 
antonn ©   (2010-04-03 00:09) [27]

так то регекспы, а то i++...
мне-то не сложно и то и другое, и к куче фигурных скобок я привык, но вот регулярки... это как поэзия... поэзия шизофреника %)


 
DVM ©   (2010-04-03 00:50) [28]

Невозможно практически даже с помощью регулярных выражений создать проверку правильности e-mail адреса, успешно отсеивающую 100% неверных адресов и не отсеивающую совсем верных.


 
antonn ©   (2010-04-03 01:15) [29]

а зачем именно отсеивающую, достаточно сделать удобную для пользователя подсветку о валидности емейла, но не запрещать ему (например как это сделано на форумах IPB - там при регистрации и вводе пароля "TEdit" меняет цвет рамки - не запрещает, но и предупреждает, лишний реверанс в сторону пользователя не помешает :))


 
McSimm ©   (2010-04-03 01:20) [30]

Коллеги как-то подробно занимались составлением универсальной регулярки и даже сделали ее - текста было полтора или два экрана.


 
Игорь Шевченко ©   (2010-04-03 01:28) [31]

McSimm ©   (03.04.10 01:20) [30]


> текста было полтора или два экрана


write only code



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.51 MB
Время: 0.062 c
3-1242650536
kyn66
2009-05-18 16:42
2010.08.27
Полосатый TDBGridEh


15-1265562991
Stranger1308
2010-02-07 20:16
2010.08.27
Импорт библиотеки


2-1270634702
Sairex
2010-04-07 14:05
2010.08.27
Как программно скопировать строку Excel


2-1272205654
romario
2010-04-25 18:27
2010.08.27
Работа с текстовым файлом


8-1204756138
Rave4Life
2008-03-06 01:28
2010.08.27
Деформация изображения BMP





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский