![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Apr 2014
Сообщений: 10
|
Ребята помогите. Пишу две аналогичные функции одна функция работает исправно выполняет все условия, другая тупит. В инпут тексте вводишь любое значение выдает выдает сразу исполнение условия без проверки условий введенных данных.
Вот код function Chek1() работет как положено, а function Chek2() тупит. function Chek1() { if ((txt1.text=="=B3-3")||(txt1.text=="=b3-3") ||(txt1.text=="=D3+E3+F3+G3")||(txt1.text=="=d3+e3+f3+g3")) { txt1.text="20";k=k+1; K.text=String(k); } else { if (txt1.text=="20") { k=k+0; K.text=String(k);txt1.type = TextFieldType.DYNAMIC; } else { txt1.type = TextFieldType.DYNAMIC;k=k+0; K.text=String(k); }; }; }; function Chek2() { if ((txt2.text=="=(d3+e3+f3)/c3*100")||(txt2.text=="=(D3+E3+F3)/С3*100")||("=(D3+E3+F3)*100/C3")||("=(d3+e3+f3)*100/c3")) { txt2.text="95%";k=k+1; K.text=String(k); } else { if (txt2.text=="95") { k=k+0; K.text=String(k);txt2.type = TextFieldType.DYNAMIC; } else { txt2.type = TextFieldType.DYNAMIC;k=k+0; K.text=String(k); }; }; }; Последний раз редактировалось alexcon314; 05.05.2014 в 17:01. |
|
|||||
|
listener
|
Используйте теги форматирования кода.
забыли написать с чем сравнивается в третьем и четвертом условии. |
|
|||||
|
Регистрация: Apr 2014
Сообщений: 10
|
блиииин )))) стыд, спасибо, к концу рабочего дня запарился наверное. Признателен, спасибо!
|
|
|||||
|
Регистрация: Apr 2014
Сообщений: 10
|
там дело не в пробелах, а что за регулярки вы имеете ввиду? я недавно с флеш работаю, где то 2 недели только.
|
|
|||||
|
Ну как не в пробелах? Вот есть там проверка такой строки "=(D3+E3+F3)/С3*100", а я возьму и введу ее так:
"= (D3 + E3 + F3) / С3 * 100" Пример вроде тот же, а условие не сработает Надо проверять не txt2.text, а сначала присвоить его какой-то временной переменной (для удобства). Ее обработать регулярным выражением, и потом уже проверять |
|
|||||
|
Регистрация: Apr 2014
Сообщений: 10
|
Спасибо, просто я не учитывал что пользователь может ввести пробел. Я делаю имитацию ячейки ексель. Пользователь должен ввести правильно формулу расчета. Если он правильно вводит формулу, то зарабатывает баллы.
Добавлено через 9 минут Можете подсказать, что означает каждое значение в методе text.replace, что означают (/\s*/g, "") и особенно интересует буква g. |
|
|||||
|
Цитата:
А если там по 2 пробела будет? Это кривой метод. Регулярное выражение намного лучше. Плюс оно не будет создавать массив, а потом опять лепить из него строку. Цитата:
первый и последний слэши - это границы регулярного выражения. \s+ значит, что в строке будет искаться любое количество пробелов больше нуля, а g значит, что эта операция будет повторяться снова и снова, пока все пробелы не будут удалены |
![]() |
![]() |
Часовой пояс GMT +4, время: 13:13. |
|
|
« Предыдущая тема | Следующая тема » |
|
|