Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> валидность e-mail 
:(
    Опции темы
An123
  Дата 5.2.2010, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 17.10.2009

Репутация: нет
Всего: нет



Как записать функцию, определяющую валидность введенной строки?
PM MAIL   Вверх
bsa
Дата 5.2.2010, 11:23 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



что такое адрес email и как он выглядит? Возможны адреса user, user@comp, [email protected], [email protected], [email protected]. Но первый вариант встречается только при работе на одной машине с почтовым сервером (на Unix). А остальные подходят под шаблон "<что-то>@<что-то>".
PM   Вверх
cutwater
Дата 5.2.2010, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 592
Регистрация: 24.6.2008

Репутация: 2
Всего: 10



Самый простой способ - регулярное выражение. (boost.regex, pcre)
В интернете уже полно готовых шаблонов

Или ручками, ручками. А что конкретно не понятно?


--------------------
user posted image
PM MAIL   Вверх
An123
Дата 5.2.2010, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 17.10.2009

Репутация: нет
Всего: нет



cutwater,  а где их найти - эти готовые шаблоны?
PM MAIL   Вверх
bsa
Дата 5.2.2010, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Цитата(cutwater @  5.2.2010,  11:23 Найти цитируемый пост)
Самый простой способ - регулярное выражение.
самый простой способ - найти в строке "собаку" и убедиться, что она находится не в начале и не в конце, а так же, что строка не содержит специальных символов.

PM   Вверх
cutwater
Дата 5.2.2010, 11:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 592
Регистрация: 24.6.2008

Репутация: 2
Всего: 10



An123, google ?


bsa, спорить не стану. зависит от задачи.

Добавлено через 34 секунды
An123, например http://regexlib.com/DisplayPatterns.aspx


--------------------
user posted image
PM MAIL   Вверх
An123
Дата 5.2.2010, 11:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 17.10.2009

Репутация: нет
Всего: нет



здесь поммимо собаки видимо надо найти ещё не английские буквы
google молчит зараза
хотя наверняка такие задачи поднимались, но найти не могу

Это сообщение отредактировал(а) An123 - 5.2.2010, 11:36
PM MAIL   Вверх
An123
Дата 5.2.2010, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 17.10.2009

Репутация: нет
Всего: нет



на php нашел
Код

function checkemail($email) { 
if (!eregi(”^[\._a-zA-Z0-9-]+@[\.a-zA-Z0-9-]+\.[a-z]{2,6}$”, $email)) 
return 1; 
list($username, $domain) = split(”@”,$email); 
if (@getmxrr($domain, $mxhost)) 
return 0; 
else 
$f=@fsockopen($domain, 25, $errno, $errstr, 30); 
if($f) { 
fclose($f); 
return 0; 
} else{ 
return 1; 
} 
} 
}

но вот как это в C перевести?

Это сообщение отредактировал(а) bsa - 5.2.2010, 22:53
PM MAIL   Вверх
jonie
Дата 5.2.2010, 21:01 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 6
Всего: 118



http://tools.ietf.org/html/rfc2822#section-3.4.1
вот стандарт, но есть адреса, которые ему НЕ следуют (а с внедрением национальных доменов вообще полная фигня получается)
http://en.wikipedia.org/wiki/E-mail_address

а по мне так самый правильный способ это MX сервер запрашивать...


UPD: вот, нашел мажорный регэксп: http://www.ex-parrot.com/~pdw/Mail-RFC822-Address.html

Это сообщение отредактировал(а) jonie - 5.2.2010, 21:03


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
bsa
Дата 5.2.2010, 22:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Цитата(jonie @  5.2.2010,  21:01 Найти цитируемый пост)
UPD: вот, нашел мажорный регэксп: http://www.ex-parrot.com/~pdw/Mail-RFC822-Address.html
ахренеть!

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1228 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.