Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Регулярные выражения. Проверка e-mail 
V
    Опции темы
diablero
Дата 9.11.2007, 23:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 337
Регистрация: 3.12.2006
Где: Аркхэм

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



Небходимо проверять коректность ввода e-mail. 
Вот нашел в сети такое выражение, и никак не могу адаптировать его так, чтобы домены не прописывать. Сделать универсальнее.
Код

private static Pattern regexMail = Pattern.compile("[a-zA-Z]{1}[a-zA-Z\\d\\u002E\\u005F]+@([a-zA-Z]+\\u002E){1,2}((net)|(com)|(org)|(ru))");
    public boolean isValidMail(String uname) {
        return regexMail.matcher(uname).matches();
    }

Подскажите.


--------------------
Есть два варианта решения проблемы - реальный и фантастический. Реальный - это когда прилетят инопланетяне и все за нас сделают ...
PM MAIL   Вверх
Timok
Дата 10.11.2007, 00:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



А в каком смысле 
Цитата(diablero)
чтобы домены не прописывать

? в смысле, что бы com|net|org|ru конкретно не указывать? тогда измени конец регулярки 
Код
((net)|(com)|(org)|(ru))
 на 
Код
[a-zA-Z]{2,3}

мб я гоню, но почему в имени домена допускаются только буквы? А цифры и дефис разве не допускаются в email-адресе? 
PM MAIL   Вверх
Stampede
Дата 10.11.2007, 00:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гносеолог
**


Профиль
Группа: Участник Клуба
Сообщений: 963
Регистрация: 25.4.2005
Где: Calgary, Alberta, Canada

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



diablero, регулярку ты нашел неважнец. Например, она не учитывает, что в имени могут быть подчерки и тире (и знак плюса, если уж на то пошло). Вообще, если по большому счету, полностью и скрупулезно составленный регекс под RFC 2822 (описание стандарта почтового сообщения) займет с полстраницы. Но для практических целей, конечно, сгодится и что-нибудь попроще. Вот тут вот чувак предлагает довольно простое и наглядное решение:

http://www.leshazlewood.com/?p=5

Энджой smile

ЗЫ. Если все-таки хочешь взять за основу свою формулу, вместо доменов проставь просто [a-zA-Z]+


--------------------
"If you want something done right, do it yourself"
По секрету: выучить английский - реально!
PM WWW   Вверх
Vasay
Дата 10.11.2007, 00:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



А разве мыло не может начинаться с цифры?

следует учесть что почта может быть и такой:

[email protected] - c двумя точками

убрал. не очень хорошее получилось

Это сообщение отредактировал(а) Vasay - 10.11.2007, 00:40


--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
Timok
Дата 10.11.2007, 01:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Vasay @ 10.11.2007,  00:37)
А разве мыло не может начинаться с цифры?

следует учесть что почта может быть и такой:

[email protected] - c двумя точками

то что мыло не начинается с цифры там указано ([a-zA-Z]{1} вначале). А вот зачем там намерено запрещаются домены 3-го и ниже уровня я тоже не пойму...

Это сообщение отредактировал(а) Timok - 10.11.2007, 01:21
PM MAIL   Вверх
diablero
Дата 10.11.2007, 02:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 337
Регистрация: 3.12.2006
Где: Аркхэм

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



Цитата(Stampede @  10.11.2007,  00:36 Найти цитируемый пост)
Вот тут вот чувак предлагает довольно простое и наглядное решение

Вроде как годидзе.





--------------------
Есть два варианта решения проблемы - реальный и фантастический. Реальный - это когда прилетят инопланетяне и все за нас сделают ...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




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


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

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