Форум 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");
}


Nox Noctis 24.06.2002 12:43

эээ... вы чего тут ? :)
космический аппарат проектируете ? :)
тут ведь самоката вполне достаточно...

два фора... кашмар :)

у Лехасса все правильно написано...
просто он не сделал выравнивание, и ты не понял какой оператор к какому блоку относится...
обрати внимание: там нету фигурных скобок, а значит
return true; стоит уже _вне_ цикла :)

твой код:
Код:

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

вот так правильно :)

lexass 24.06.2002 12:57

2 Nox Noctis
А им так ненравиться :mad:
Ну и пуЩай делают как хотят :) ;)

лучшее враг хорошего
ЗЫ
рекомендую проверять посимвольно каждый символ в строке
ЗЗЫ
Напомню, большое кол-во стринговых операций - тормозит! :p

Накой вам вааще длинна строки (ограничения чтоль)? x.length<лимит
накой вам считать кол-во символов которые нельзя вводить???
Ж:(
нифига непонимаю

DeliMIter 25.06.2002 21:59

А я думаю, что так не пойдет.
Код:

for (i=0; i<badSym.length; i++) {
 if (text.indexOf(badSym[i])>-1) {
  return false;
 }
}

Если в строке хотя бы ОДИН плохой символ, функция вернет false и привет. Суть же вопроса, чтобы в строке НЕ ВСЕ символы были плохими.

Nox Noctis 26.06.2002 01:07

здрасьте...
так нам же надо проконтролировать, чтобы во введенных строках не было недопустимых символов...
значит если мы нашли хотя бы один из "плохих", то все, вводить надо заново.
чего еще-то ? :rolleyes:

lexass 26.06.2002 10:08

:D :D :D
Всех лечить ЭЛЕКТРИЧЕСТВОМ :p

2Nox Noctis
Цитата:

так нам же надо проконтролировать, чтобы во введенных строках не было недопустимых символов...

значит если мы нашли хотя бы один из "плохих", то все, вводить надо заново.
хоть кто-то еще правильно рассуждает :)

Эй, люди вернитесь на землю!
Если символ запрещен, то он не разрешен :cool:

Дык и зачем чего-то считать если (return false)

;)

DeliMIter 26.06.2002 20:27

Re: эх. не умею правильно писать вопросы.
 
Цитата:

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

товарищи монстры!! Обратите внимание на слово "ОДНИ" почти в конце фразы.

Nox Noctis 26.06.2002 20:42

ладно, ладно, бедил :)
ты главное не нервничай :)
мы уже пошли стоять в угол :)

DeliMIter 26.06.2002 21:03

Я не нервничаю! Нет, я абсолютно спокоен!!!!!! Я НЕ НЕРВНИЧАЮ!!!!!

lexass 27.06.2002 10:06

Re: Re: эх. не умею правильно писать вопросы.
 
Цитата:

Оригинал написал(а) DeliMIter

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

МЛИН :(
А как в имени могут быть пробелы :rolleyes: :confused:

2Nox Noctis, зачем стоять в угол?
Лучше пить боржоми ;)

Baltika 27.06.2002 11:56

Re: Re: Re: эх. не умею правильно писать вопросы.
 
Цитата:

Оригинал написал(а) lexass


МЛИН :(
А как в имени могут быть пробелы :rolleyes: :confused:

так:
- Имя, сестра, имя??!!!
- "пробелпробелпробел " ...

:p

lexass 27.06.2002 12:42

извини Baltika но я недогнал :(

туплю наверное :rolleyes:

Nox Noctis 27.06.2002 15:13

так... а почему не догнал ?
что, все кончилось ?
на догон надо было чуть оставить... :p

lexass 27.06.2002 15:48

2 Nox Noctis
недогнал потому что на полкуруга впереди ;)
или потому что все в другую сторону ломанулись :D

Baltika 27.06.2002 16:16

2 lexass
не...... потому что все - на другом стадионе ... :p

lexass 27.06.2002 16:20

Во блин, а я думаю чаво мне так свободно :D ;)

Nox Noctis 27.06.2002 17:59

а крылья не жмут ? :p

lexass 27.06.2002 18:12

как они могут жать???
целый пустой стадион, я так развернулся
и крылья раправил :)

Baltika 27.06.2002 18:36

lexass, так расправил ?

http://smiles.nagash.org/devils and angels/blackbat.gif

ЗЫ оРел :p

lexass 28.06.2002 10:06

Гы%)
нет еще шире :p

DeliMIter 28.06.2002 20:59

Re: Re: Re: эх. не умею правильно писать вопросы.
 
Цитата:

Оригинал написал(а) lexass

МЛИН :(
А как в имени могут быть пробелы

Вот у нас есть Nox Noctis, не станешь же ты меня уверять, что между Nox и Noctis стоит не chr(0x20) а chr(0xFF)?

Хыхыхы.

Nox Noctis 28.06.2002 21:20

2DeliMIter
а, ну конечно :)
такого он тебе точно не скажет :)

...потому что там chr(0x09) !.. :p :p :p

trace("Nox"+chr(9)+"Noctis");
trace("Nox"+chr(0x09)+"Noctis");
trace("Nox\x09Noctis");
;)

DeliMIter 28.06.2002 22:04

Тэ ж табуляцыя!!! Прабачай дружа, хлусню мауляеш!

Pietrovich 29.06.2002 02:40

Господа, если мне не изменяет память, то пробел единственній удовлетворяет условию

txt.toUpperCase()==txt.toLowerCase() (1)

т.е. если строка полностью из пробелов то она удовлетворяет условие 1 и соответственно глючная....

З.Ы. если я не прав, то прошу не бить ногами, а подсказать какие еще символы конают под этот аршин...

гы... оказывается не единственный.... конают все символы кроме букв...

может стоит добавить еще и проверку на хотябы ОДИН пробел и херить все строки котрые не содержат ни одной нормальной буквы... (т.е. типа ^@3 2!@&** )


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

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