Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 11.05.2009, 04:07
BeginnerArt вне форума Посмотреть профиль Отправить личное сообщение для BeginnerArt Найти все сообщения от BeginnerArt
  № 1  
Ответить с цитированием
BeginnerArt
 
Аватар для BeginnerArt

Регистрация: May 2009
Сообщений: 6
По умолчанию Проверка адреса email

Доброго времени суток! начал изучать книгу ActionScript 3.0 К.Мук , с AS3 пока очень плохо знаком, нашел там упражнеие проверки емейла,
Код AS3:
var address = "me@moock.org";
var isValidAddress = false;
var i = 0;
 
while (i<address.length) {
	if (address.charAt(i) =="@") {
		isValidAddress = true;
		trace("you email is right");
		break;
	} 
	i++;
}
вот базовый код, в него нужно внести изменеия так чтобы адреса начинающиеся или заканчивающиеся символом @ считались некоректными, адреса которые содержат более 1 символа @, и адреса которые несодержат ниодного символа @ также некоректны.

Помогите пожалуйста с решением примера.
Заранее благодарен!


Последний раз редактировалось BeginnerArt; 11.05.2009 в 04:27.
Старый 11.05.2009, 04:48
ramshteks вне форума Посмотреть профиль Отправить личное сообщение для ramshteks Найти все сообщения от ramshteks
  № 2  
Ответить с цитированием
ramshteks
 
Аватар для ramshteks

Регистрация: Jul 2007
Сообщений: 805
Отправить сообщение для ramshteks с помощью ICQ Отправить сообщение для ramshteks с помощью Skype™
есть такая вещь - регулярные выражения, во флеше класс RegExp

Старый 11.05.2009, 05:09
IDimitry вне форума Посмотреть профиль Найти все сообщения от IDimitry
  № 3  
Ответить с цитированием
IDimitry
Banned
[+5 23.05.09]
[+1 23.05.09]

Регистрация: Mar 2009
Сообщений: 93
Угу, а в инете можно найти несколько валидных вариантов проверки е-мейла через регулярки. К примеру, так:
Код AS3:
new RegExp("[0-9a-z_]+@[0-9a-z_^.]+\\.[a-z]{2,3}", 'i')
(Взято из javascript, но вроде для регулярных выражений разницы нет)

Старый 11.05.2009, 10:52
Alex Lexcuk вне форума Посмотреть профиль Отправить личное сообщение для Alex Lexcuk Посетить домашнюю страницу Alex Lexcuk Найти все сообщения от Alex Lexcuk
  № 4  
Ответить с цитированием
Alex Lexcuk

блогер
Регистрация: Mar 2008
Адрес: Донецк_city
Сообщений: 1,094
Записей в блоге: 5
Ха... Прикол у меня CS3 выдает если ввести email в хелп
Код AS3:
var validEmail:String = "name13243.com";
trace(validateEmail(validEmail));	     // true
 
 
function validateEmail(str:String):Boolean {
		var pattern:RegExp = /(\w|[_.\-])+@((\w|-)+\.)+\w{2,4}+/;
		var result:Object = pattern.exec(str);
		if(result == null) {
			return false;
		}
		return true;
}


Последний раз редактировалось Alex Lexcuk; 11.05.2009 в 10:58.
Старый 11.05.2009, 15:36
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 5  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Код AS3:
var email:RegExp = /^([^\(\)<>@,;\:\\\"\.\[\]]\.?)*\w@\w(\-\w|\w)*\.(\w{2}$|\w{3,4}$|\w{2}\.\w{2}$)/g;
Я использую такой вариант, он будет получше того, что в хелпе, но тоже не идеальный. На самом деле одним регекспом не получится проверить, email - довольно таки заморочливая вещь...
__________________
Hell is the possibility of sanity

Старый 11.05.2009, 17:20
willis83 вне форума Посмотреть профиль Отправить личное сообщение для willis83 Найти все сообщения от willis83
  № 6  
Ответить с цитированием
willis83
 
Аватар для willis83

Регистрация: Jan 2008
Адрес: Украина, Славутич
Сообщений: 646
Отправить сообщение для willis83 с помощью ICQ
Помоему человеку легче добавить пару строк в этот код чем учуть класс регулярныx выражения... по крайней мере для данной задачи совет неоправданный
BeginnerArt, то что вы хотите сделать довольно легко на самом деле, просто вам надо вникнуть в то, что делает эта функция и проявить минимум смекалки. На счёт первого символа @ проверяется так:
Код AS3:
if (address.charAt(1) =="@") {
		isValidAddress = false;
		trace("you email is incorrect");
}
На счёт 2ух символов @, просто добавьте ещё одну переменную(var n:int = 0) и при обнаружении символа @ прибавляйте к ней единицу, уберите break и если в конце цикла переменная будет равна единице, то в указанном адресе символ @ один.


Последний раз редактировалось willis83; 11.05.2009 в 17:22.
Старый 11.05.2009, 17:45
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 7  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Код AS3:
//
trace("%@".charAt(1)); // если уж на то пошло, то 0 а не 1.
trace("@@".indexOf("@") != "@@".lastIndexOf("@"));// так гораздо проще проверить наличие более чем одного символа.
//
И RegExp нужно не учить, его нужно знать.
__________________
Hell is the possibility of sanity

Старый 11.05.2009, 17:57
willis83 вне форума Посмотреть профиль Отправить личное сообщение для willis83 Найти все сообщения от willis83
  № 8  
Ответить с цитированием
willis83
 
Аватар для willis83

Регистрация: Jan 2008
Адрес: Украина, Славутич
Сообщений: 646
Отправить сообщение для willis83 с помощью ICQ
С единицей прогнал, виноват.
А ваш ответ а ля:
-Помогите придумать велосипед!?
-Да зачем тебе велосипед? Подучи физику, аеродинамику и строй космический корабль, он намного круче!
Человек ясно написал, что не силен в AS3 и только начинает его учить, а изменения нужно ввести в указанный код... а вы ему навалили столько, что вряд ли ему это помогло хоть чем-то...

Старый 11.05.2009, 18:05
СлаваRa вне форума Посмотреть профиль Отправить личное сообщение для СлаваRa Найти все сообщения от СлаваRa
  № 9  
Ответить с цитированием
СлаваRa
 
Аватар для СлаваRa

блогер
Регистрация: Feb 2008
Адрес: http://playtika.com
Сообщений: 1,119
Записей в блоге: 5
Отправить сообщение для СлаваRa с помощью ICQ Отправить сообщение для СлаваRa с помощью Skype™
по - моему, если что - то хочешь сделать, надо сразу учиться делать так как надо, а не сначала научиться делать абы как, а потом себя переучивать... поэтому с вашим постом willis83 я не согласен


Последний раз редактировалось СлаваRa; 11.05.2009 в 18:08.
Старый 11.05.2009, 18:06
IDimitry вне форума Посмотреть профиль Найти все сообщения от IDimitry
  № 10  
Ответить с цитированием
IDimitry
Banned
[+5 23.05.09]
[+1 23.05.09]

Регистрация: Mar 2009
Сообщений: 93
А какое отношение имеет RegExp к AS3? - Это универсальная вещь и, причем, для ряда знакомых мне языков практически идентичная. wvxvw прав - есть ряд "азов", которые просто необходимо знать, ну, или хотя бы иметь представление о них.

Создать новую тему Ответ Часовой пояс GMT +4, время: 13:48.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 13:48.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.