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

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

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

Регистрация: Oct 2009
Сообщений: 92
По умолчанию проверка заполнения input text

Здравствуйте

подскажите пожалуйста

есть текстовая строчка в формате input text, можно ли сделать проверку на ее заполнение??

Старый 25.07.2012, 12:45
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 2  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Код AS3:
if (tf.text.length)
Как самый примитивный вариант, не учитывающий, что в поле могут быть просто пробелы. А вообще, нужно написать свою функцию trim, которая уберет пробелы с начала и с конца, вернет строку, у которой и надо смотреть длину.
__________________
тут я

Старый 25.07.2012, 13:07
lissa81 вне форума Посмотреть профиль Отправить личное сообщение для lissa81 Найти все сообщения от lissa81
  № 3  
Ответить с цитированием
lissa81

Регистрация: Oct 2009
Сообщений: 92
а как можно убрать пробелы????

Старый 25.07.2012, 13:13
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 4  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Код AS3:
function isEmpty(text:String):Boolean {
    text = text.replace(/\s{2,}/g, ""); // уберет все избыточные пробелы (если их больше 2 подряд)
    return text.length < 1 || text == "" || text == " "; 
}
if (isEmpty(tf.text)) {
     trace("текстовое поле пустое");
}
п.с. писал прямо здесь. Не тестировал.

Старый 25.07.2012, 13:43
lissa81 вне форума Посмотреть профиль Отправить личное сообщение для lissa81 Найти все сообщения от lissa81
  № 5  
Ответить с цитированием
lissa81

Регистрация: Oct 2009
Сообщений: 92
увы что то не работает(

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Только что специально проверил. Всё работает.
Код AS3:
package  {
	import flash.display.Sprite;
	import flash.text.TextField;
	/**
	 * ...
	 * @author 
	 */
	public class Main extends Sprite {
 
		public function Main() {
			var tf:TextField = new TextField();
			tf.text = "  ";
			trace(isEmpty(tf.text)); // true
			tf.text = " text";
			trace(isEmpty(tf.text)); // false
		}
 
		private function isEmpty(text:String):Boolean {
			text = text.replace(/\s{2,}/g, "");
			return text.length < 1 || text == "" || text == " "; 
		}
	}
}

Старый 25.07.2012, 14:15
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 7  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Код AS3:
if (str.replace(" ", "").length) trace("не пусто");
__________________
тут я

Старый 25.07.2012, 14:54
lissa81 вне форума Посмотреть профиль Отправить личное сообщение для lissa81 Найти все сообщения от lissa81
  № 8  
Ответить с цитированием
lissa81

Регистрация: Oct 2009
Сообщений: 92
спасибо за помощь

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

блогер
Регистрация: Feb 2004
Адрес: Украина
Сообщений: 1,180
Записей в блоге: 3
Отправить сообщение для Жень Шень с помощью ICQ
Давненько не постился. Вот вариант написанный еще при изучении АС3. Проверяется на любой набор спереди и в конце строки.
Код AS3:
import flash.events.MouseEvent;
// btn - кнопка на сцене
this.btn.addEventListener(MouseEvent.CLICK, handler)
 
function handler(e:MouseEvent):void {
	// input_txt - поле ввода не сцене
	var str:String = trim(this.input_txt.text)
	if (str == "") {
		trace ("Поле не заполнено")
	} else {
		trace("Все хокей")
	}
}
 
// Удаление начальных и конечных символов (по умолчанию пробелов)
function trim(_str:String, _symbol:String=" "):String {
	while (_str.indexOf(_symbol) == 0) {
		_str = _str.substr(_symbol.length);
	}
	if (_str != "") {
		while (_str.lastIndexOf(_symbol) == _str.length - _symbol.length) {
			_str = _str.substr(0,_str.length - _symbol.length);
		}
	}
	return _str;
}
Написано в кадре для простоты.
Пока писал - ответили. ну пусть будет как вариант

Старый 25.07.2012, 18:54
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 10  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Мне тут написали, что с табами работать не будет. Ок ))
Код AS3:
if (str.replace(" ", "").replace(/\t/, "").length) {
    trace("не пусто");
}
Не знаю, насоклько этот способ быстродейственен. Возможно ключ global в регулярке нужен, я не тестировал, тут писал.

Добавлено через 2 минуты
Код AS3:
if (str.replace(/[\t\s]/, "").length) {
    trace("не пусто");
}
Во!
__________________
тут я

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

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

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


 


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


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