![]() |
Проверка адреса e-mail на валидность.
Имеется такая задача:
В переменную email мы присваиваем какой-нить адрес, к примеру (example@timon.com). Нужно проверить введенный адрес правильно введен, т.е. в адресе должны отсутствовать повторяющийся символ @, повторяющиеся точки, символ @ не должен присутствовать первым или последним, но хотя бы должна присутствовать одна точка и одна собачка. Недопустимые записи (@example.timon.com, example.timon.com@, exa@mple@.timon.com, example..timon.com). Все это нужно реализовать с помощью цикла while. С помощью других циклов не нужно. Вот что у меня получилось, хотя многое неверно: Код AS3:
|
/(\w|[_.\-])+@((\w|-)+\.)+\w{2,4}+/
|
Проверки такого рода производятся с помощью регулярных выражений. Были уже темы на счет имейла на валидность на форуме. Гугл также в помощь.
|
Цитата:
Добавлено через 3 минуты Цитата:
Так там на стр. 92 есть упражнение. Там ничего насчет регулярных выражений сказано не было. |
есть у типа String метод indexof, он проверяет если в строке символ(ы).
(Вроде метод тот) |
Цитата:
Добавлено через 45 минут Может у кого-нибудь есть идеи ?? |
goldlider, Вам уже дали идею в одну строку вместо 20.
Вы боитесь регулярных выражений? То что Колин Мук по своим соображениям в том упражнении этого не показал, совсем не значит что остальные решения не верны. Код AS3:
Когда то натыкался типа на идеальное РВ, длина и вид впечатлили. :) |
Mur4ik сам уже нашел решение. Я просто, забыл добавить в условие, что задача должна только лишь с помощью цикла while, условия if и метода charAt.
Правда код большой. Но самое главное работает. Код AS3:
|
goldlider, вы извращенец.
|
теже яйца, только вид сбоку. ;(
|
интересно, а что не кто не заметил, что у автора вот такой email будет не валидный - easy.proger@mymailserver.ru ? то есть две точки в email
|
лучший способ проверки - отправить письмо и подождать, не вернется ли обратно :))
|
еще (для коллекции вариантов) есть бородатый способ - 2 раза split (на "@" и на ".") с соотв. проверками
|
Мдя, код не такой то и большой как мог бы быть.
Но в любом случае такой код пропустит кучу невалидных емейлов. Плюс нет проверки на недопустимые символы. Если это какая то лабораторная работа или домашнее задание, то еще куда ни шло (на троечку). Если же это случай для реального проекта, то он просто не имеет права на жизнь. |
goldlider. В книге К.Мука вы встретили задание: сделать то то и то то с помощью лишь методов тех то и тех то. И зачем, спрашивается, грузить форум вопросом не только не имеющим отношения к практике, но и заданным вам с целью самостоятельного поиска решения?
|
Нет, нельзя сделать нормально валидацию е-мейла одним регулярным выражением. По частям - можно. Кроме того есть "уровни правильности", вот, например, кто-то предлагал искать точку в строке, а она там может и не быть (admin@localhost - вполне себе валидный адресс), кроме того "foo bar"@domain тоже валидный адресс и т.п. вот только встречаются такие редко или в специфических ситуациях.
|
используйте as3DataValidation от Adobe
|
Цитата:
|
| Часовой пояс GMT +4, время: 00:30. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.