Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   как определить что в форму введен пробел, а не буква или цифра? (http://www.flasher.ru/forum/showthread.php?t=33421)

Nasty 21.06.2002 17:13

как определить что в форму введен пробел, а не буква или цифра?
 
Что-то никак понять не могу...

Nasty 21.06.2002 17:39

помогите!
 
Ну помогите мне, пожалуйста! Я торможу... И в поиск мне не помог :(

greyshaman 21.06.2002 17:57

myListener.onKeyDown = function () {
trace(Key.getCode());
}
Key.addListener(myListener);

так пробовал?

Nasty 21.06.2002 18:16

эх. не умею правильно писать вопросы.
 
эх. не умею правильно писать вопросы.
Суть вот в чем. Есть текстовая форма в которую вводят, например имя. Нельзя же допустить чтобы там были одни пробелы...

Хотя до меня кажется уже дошло как это сделать:
считаем длину строки;
фором перебираем каждый символ - если он является пробелом, увеличиваем переменную spaceNum на единицу.
В конце сравниваем ее с длинной строки. Если совпало - беда, надо писать заново имя, Если не сопало - вперед, все хорошо!

если кто знает метод попроще и поэлегантнее, напишите мне, пожалуйста!

lexass 21.06.2002 18:23

Да ты ШО, зачем те "for" ???
________________________
if(xz.indexOf(' ')>-1)
trace('OK')
________________________
хотя можно и им

Baltika 21.06.2002 18:33

упс, опоздал ..

Nasty 21.06.2002 18:35

Спасиб, Дарагой LEXASS!
Ты мне помог :) Правда, наверно, не тем чем рассчитывал ;)
В смысле, открыл глаза, просветил разум etc..

у меня if есть, но он в for. Всеж таки символов много могут навводить... .)

lexass 21.06.2002 18:48

2 Nasty
ты ЭТО, неусложняЙ

Код:

то_что_ниЗя_вводить=[0,1,' ','@','.']
function test(x){
for(i=0;i<то_что_ниЗя_вводить.length;i++)
if(x.indexOf(то_что_ниЗя_вводить[i])>-1 || !x.length)
return false;

return true;
}


:)

Nasty 21.06.2002 19:13

ХЫМ?
 
Lexass? Что-то опять не дошло до меня? :/ Не работает...

badSym = [0,' ','@','.'];
//
function formcheck() {
if (text != null) {
for(i=0; i < badSym.length; i++) {
if( text.indexOf(badSym[i]) > -1 || !text.length){
return false;
} else {
return true;
}
}
} else {
trace("null");
}
}
stop();

DeliMIter 21.06.2002 20:55

У тебя текст автоматически не равен null, он равен "". А твоя функция срабатывает на первый же "плохой" символ, потому что она сразу завершает работу независимо от результата. Я бы предложил такой вариант:
Код:

BadSym =[...];
_len = sometext.length;

if (_len > 0)
 for (var i=0; i<_len; i++)
  for (var j=0; j<BadSym.length; j++)
  if (sometext.charAt(i) == BadSym[j]) _len--;

if (_len == 0) {
 trace("Bad Symbol String!!!");
} else {
 trace("Good Symbol String");
}



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

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