JS, логика и модель

DartBeider

Client
Регистрация
16.05.2013
Сообщения
44
Благодарностей
3
Баллы
8
Поскажите, пожалуйста, как мне разобраться со следующей проблемой - при регистрации спрашивает "What is 5+12?"

Выделить капчей не разрешает!!! (вручную бы повводил одноразово, но нет)

Я парсю текст "What is 5+12?", закидываю в переменную, например "q"

Потом выполняю JS, где входная переменная "q", а на выходе - "a", потом вставляю в поле для ответа переменную "а"

Подскажите, я правильно описал? (кстати, нихера не получилось так)
 

KirillOFF

Client
Регистрация
18.12.2010
Сообщения
1 127
Благодарностей
517
Баллы
113
Надо парсить только "5+12" и выполнять след. JS код:
var answer={-Variable.q-};
 
  • Спасибо
Реакции: DartBeider

7make

Client
Регистрация
25.06.2011
Сообщения
1 547
Благодарностей
1 311
Баллы
113

Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с 7make какие-либо сделки.

Строку парси такой регуляркой=> [0-9]+
В первом совпадении будет первое число, во втором -второе.

Символ действия парси такой регуляркой => (?<={-Variable.digit1-}).*?(?={-Variable.digit2-})

Через свой код C# арифметику можно так вычислить:
JavaScript:
int digit1 = Convert.ToInt32(project.Variables["digit1"].Value);
int digit2 = Convert.ToInt32(project.Variables["digit2"].Value);
char symbol = Convert.ToChar(project.Variables["symbol"].Value);

switch (symbol)
{
    case '+':
        return digit1 + digit2 ;
    case '-':
        return digit1 - digit2;
	case '*':
        return digit1 * digit2 ;
    case '/':
        return digit1 / digit2;
    default:
        return "ErrorDataTypeOrFormat";
}
В аттаче пример: Посмотреть вложение TextCaptcha.xmlz
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 450
Благодарностей
1 885
Баллы
113
Зачем так всё усложнять? :-)
Просто парсим из кода цифры такой регуляркой - (?<=What\ is\ ).*?(?=\?)
Дальше вставляем переменную в Свой JS код и на выходе получаем результат.
 

endru.mail

Client
Регистрация
22.02.2011
Сообщения
175
Благодарностей
39
Баллы
28
Зачем так всё усложнять? :-)
Просто парсим из кода цифры такой регуляркой - (?<=What\ is\ ).*?(?=\?)
Дальше вставляем переменную в Свой JS код и на выходе получаем результат.
этот вариант проще только в конкретном примере
а если:
"What is 5+12?"
"Answer please 5+12?"
"Yor answer 5+12?"
"Сколько будет 5+12="
...
и т.д, то вариант 7make более универсален
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 714
Баллы
113
7make ты клевый )
 

surrealmix

Client
Регистрация
07.03.2013
Сообщения
715
Благодарностей
409
Баллы
63

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 450
Благодарностей
1 885
Баллы
113
этот вариант проще только в конкретном примере
а если:
"What is 5+12?"
"Answer please 5+12?"
"Yor answer 5+12?"
"Сколько будет 5+12="
...
и т.д, то вариант 7make более универсален
Под это всё вообще не проблема сделать общую регулярку, а вот регулярка [0-9]+ возьмет любое число на странице, не обязательно то, которое находится в вопросе...
Ну а вообще я не настаиваю, каждый ищет для себя свой путь! Благо, зенка это позволяет!
 

DartBeider

Client
Регистрация
16.05.2013
Сообщения
44
Благодарностей
3
Баллы
8
Спасибо, ребята)
Как только что сказал мой напарник (у каждого свои задачи) - как ахуенно, что мы купили именно эту прогу)
Чем больше проектов - тем больше опыта, и когда можно вставить любой код в любом месте)))) и потоков реально надо безлимитно)

Еще раз спасибо за помощь)
 
Регистрация
31.07.2012
Сообщения
99
Благодарностей
14
Баллы
8

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)