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

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

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

Регистрация: Feb 2009
Сообщений: 74
Отправить сообщение для true11 с помощью ICQ
По умолчанию Регулярные выражения.. идиотизм

Делаю регу во флеше, и естественно не хочется посылать "лишние" запросы в php.
Скок не нажимал F1, сколько не лазил в мануалах, видимо такие вещи земным людям показывать не любят, а как же без них тяжело... Вообщем попытался написать чтото аляписто похожее, но довольно много кода получилось.. Может есть какойто другой выход?

Код AS1/AS2:
input_name.text='';
 
check_btn.onRelease = function(){
	var in_text:String = input_name.text;
	var dS = findDisallwedSymbols(in_text);
	if(dS == true){trace("Не найдено недопустимых символов");}else{trace("!!Найдены недопустимые символы");}
	var rA = findRusChar(in_text);
	if(rA == true){trace("Не найдено русских символов");}else{trace("!!Найдены русские символы");}
	}
 
	function findRusChar(str){ // поиск русских букв в строке
	var strLower:String = str.toLowerCase();
	var entryCount:Number = 0;
	var result_output:Boolean = false;
	var alphabetRus = new Array('а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я');
	for(j=0;j<strLower.length;j++){	
		for(i=0;i<alphabetRus.length;i++){
			if(strLower.charAt(j) == alphabetRus[i]){entryCount++;}
		}
	}
 
	if(entryCount == 0){result_output = true;}
	return result_output; 
	}
 
	function findDisallwedSymbols(str){
	var strLower:String = str.toLowerCase();
	var entryCount:Number = 0;
	var result_output:Boolean = false;
	var Disallwedsymbols = new Array('~','`','!','@','"','#','№','$',';','%','^',':','&','?','*','(',')','_','-','=','+','[',']','{','}','\\','|','/','<','>',',','.');
	for(j=0;j<strLower.length;j++){	
		for(i=0;i<Disallwedsymbols.length;i++){
			if(strLower.charAt(j) == Disallwedsymbols[i]){entryCount++;}
		}
	}
 
	if(entryCount == 0){result_output = true;}
	return result_output; 
	}

Старый 15.08.2009, 04:28
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
>> Может есть какойто другой выход?
Писать на AS3.
__________________
Hell is the possibility of sanity

Старый 15.08.2009, 11:52
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 3  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
>> Может есть какойто другой выход?
Некоторые просто используют restrict.
__________________
Reality.getBounds(this);

Старый 15.08.2009, 14:05
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
В AS1/AS2 просто нет встроенных регулярок.

Старый 15.08.2009, 18:18
DarkLight вне форума Посмотреть профиль Отправить личное сообщение для DarkLight Посетить домашнюю страницу DarkLight Найти все сообщения от DarkLight
  № 5  
Ответить с цитированием
DarkLight
ветеран форума
 
Аватар для DarkLight

Регистрация: May 2006
Адрес: Москва
Сообщений: 2,978
Отправить сообщение для DarkLight с помощью ICQ Отправить сообщение для DarkLight с помощью Skype™
Но уже во времена Flash MX были хорошие сторонние реализации.
__________________
4am is time to rock

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

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

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


 


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


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