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

  • Автор темы Автор темы DartBeider
  • Дата начала Дата начала

DartBeider

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

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

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

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

Подскажите, я правильно описал? (кстати, нихера не получилось так)
 
Надо парсить только "5+12" и выполнять след. JS код:
var answer={-Variable.q-};
 
  • Оценить
Реакции: DartBeider
Строку парси такой регуляркой=> [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
 
Зачем так всё усложнять? :)
Просто парсим из кода цифры такой регуляркой - (?<=What\ is\ ).*?(?=\?)
Дальше вставляем переменную в Свой JS код и на выходе получаем результат.
 
Зачем так всё усложнять? :)
Просто парсим из кода цифры такой регуляркой - (?<=What\ is\ ).*?(?=\?)
Дальше вставляем переменную в Свой JS код и на выходе получаем результат.

этот вариант проще только в конкретном примере
а если:
"What is 5+12?"
"Answer please 5+12?"
"Yor answer 5+12?"
"Сколько будет 5+12="
...
и т.д, то вариант 7make более универсален
 
7make ты клевый )
 
этот вариант проще только в конкретном примере
а если:
"What is 5+12?"
"Answer please 5+12?"
"Yor answer 5+12?"
"Сколько будет 5+12="
...
и т.д, то вариант 7make более универсален

Под это всё вообще не проблема сделать общую регулярку, а вот регулярка [0-9]+ возьмет любое число на странице, не обязательно то, которое находится в вопросе...
Ну а вообще я не настаиваю, каждый ищет для себя свой путь! Благо, зенка это позволяет!
 
Спасибо, ребята)
Как только что сказал мой напарник (у каждого свои задачи) - как ахуенно, что мы купили именно эту прогу)
Чем больше проектов - тем больше опыта, и когда можно вставить любой код в любом месте)))) и потоков реально надо безлимитно)

Еще раз спасибо за помощь)
 

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