:: Visual Foxpro, Foxpro for DOS
Корректность ввода e-mail.
Василий

Сообщений: 682
Откуда: Москва
Дата регистрации: 19.10.2000
Добрый день.

Нет ли у кого нибуть (в дар) готовой функции проверки корректности ввод e-mail.
Ratings: 0 negative/0 positive
Re: Корректность ввода e-mail.
Дмитрий Петров

Сообщений: 3071
Откуда: Пермь
Дата регистрации: 09.07.2001
pcEmail="''.phorum_html_encode('email@mail.ru').''"
oRE = CreateObject("VBScript.RegExp")
oRE.Pattern = "^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"
? oRE.test(pcEmail)

взято тута fox.wikis.com
Ratings: 0 negative/0 positive
Re: Корректность ввода e-mail.
Igor Korolyov
Автор

Сообщений: 34580
Дата регистрации: 28.05.2002
emailregex.com
habrahabr.ru
Вроде там нет поддержки для ё***тых локализованных доменов (.рф и прочее - как в "чистом" виде, так и в punycode) - сам дописывай такое, если вдруг надо

Сами регулярные выражения в фоксе проще всего делать посредством
CREATEOBJECT('VBScript.RegExp')
А можно из дотнета через wwdotnetbridge - поиск по форуму покажет примеры.


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Корректность ввода e-mail.
Chemberzhy

Сообщений: 13142
Откуда: Измаил
Дата регистрации: 28.04.2009
Заготовки нет, но если прикинуть, то можно нечто такое сделать:
PARAMETERS email as Character
RETURN IIF((!EMPTY(email) AND LEN(email)>5) AND ("@"$email AND "."$email) AND (AT(".", email)-AT("@", email)>1 ) AND (LEN(email)-AT("@", email)>2 AND LEN(email)-AT(".", email)>1), .T., .F.)

Один хрен, если кто то захочет ввести левый адрес, то он его введет, так что, тут только, корректность маски поля ввода почты создаешь.



Исправлено 1 раз(а). Последнее : Chemberzhy, 27.06.17 14:03
Ratings: 0 negative/0 positive
Re: Корректность ввода e-mail.
pasha_usue

Сообщений: 3649
Откуда: Е-бург
Дата регистрации: 06.10.2006
Это очень тонкая тема (;Ж
Есть соответствующий RFC. Для этого RFC есть RegExp в килобайт длиной (прям в самом RFC). И этот RegExp не соответствует RFC. Поэтому, я предпочитаю проверки попроще: /.+@.+\..+/i
Ratings: 0 negative/0 positive
Re: Корректность ввода e-mail.
Igor Korolyov
Автор

Сообщений: 34580
Дата регистрации: 28.05.2002
Там, поди, не "чистый e-mail" проверяется, а ещё и всякие списки, адреса рассылки и встроенные "имена" типа
<Василий Алибабаевич> ''.phorum_html_encode('vp@bred.com').''
Потому и привел ресурсы где можно подобрать регэксп подходящего уровня паранойи
Кстати, насколько я помню, даже мыло вида root@localhost вполне себе "валидно", хотя и не очень осмысленно для "внешнего мира".


------------------
WBR, Igor
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 18 (Гостей: 18)

© 2000-2024 Fox Club 
Яндекс.Метрика