火车浏览器官方论坛

标题: 用JS方式处理文类类型验证问题的答案 [打印本页]

作者: Quella    时间: 2014-11-28 14:42
标题: 用JS方式处理文类类型验证问题的答案
注册网址:http://www.liaorujiang.com.cn/member/register.php

[attach]105[/attach]
由于目前浏览器还不能截图,这种文本型的验证问题还无法使用打码平台来处理,当然使用打码平台来处理成本也是比较高的,下面我们来看下如何使用js来解决运算的验证问题

先获取验证问题区域的 html文本
var str =document.getElementById("questionstr").innerHTML;
[attach]106[/attach]
使用indexOf判断str变量中的字符是否包含 + - * /
  1. if (str.indexOf("*") > 0)
  2. {

  3. } else if (str.indexOf("-") > 0)
  4. {

  5. }else if (str.indexOf("+") > 0)
  6. {
  7.   
  8. }else if (str.indexOf("/") > 0)
  9. {
  10.   
  11. }
复制代码
然后使用split分割str变量,我们用 "-" 来做例子
  1. var q = str.split('-');
复制代码
得到的结果如下图:
[attach]107[/attach]
["21", "9=?"]  是一个数组, [0] == 21 [1] == 9=?
接下来我们获取 左边跟右边的字符,相减,就得到了结果
  1. var temp1 =q[0];
  2. var temp2 =q[1].replace("=?",""); //把多余的字符替换为空
  3. var result =Number(temp1)-Number(temp2);
复制代码
得到的结果如下图:
[attach]108[/attach]
然后把得到的结果写入验证问题的文本框内就行了
  1. document.getElementById("answer").value= result
复制代码
最终结果如下图:
[attach]109[/attach]
到此整个识别的过程就已经做好了,接下来我们把代码写完整,就可以实现效果了!

最终的JS代码
  1. var str =document.getElementById("questionstr").innerHTML;

  2. if (str.indexOf("*") > 0)
  3. {
  4.   var q = str.split('*');
  5.   var temp1 =q[0];
  6.   var temp2 =q[1].replace("=?","");
  7.   document.getElementById("answer").value=Number(temp1)*Number(temp2);
  8. } else if (str.indexOf("-") > 0)
  9. {
  10.   var q = str.split('-');
  11.   var temp1 =q[0];
  12.   var temp2 =q[1].replace("=?","");
  13.   document.getElementById("answer").value=Number(temp1)-Number(temp2);
  14. }else if (str.indexOf("+") > 0)
  15. {
  16.   var q = str.split('+');
  17.   var temp1 =q[0];
  18.   var temp2 =q[1].replace("=?","");
  19.   document.getElementById("answer").value=Number(temp1)+Number(temp2);
  20. }else if (str.indexOf("/") > 0)
  21. {
  22.   var q = str.split('/');
  23.   var temp1 =q[0];
  24.   var temp2 =q[1].replace("=?","");
  25.   document.getElementById("answer").value=Number(temp1)/Number(temp2);
  26. }
复制代码





作者: tigerf3    时间: 2015-2-25 18:46

顶,好脚本.官方出品,必属精品!
作者: prs09    时间: 2015-4-6 11:21
好贴。既然没人顶。。。~~~~~~~~~~~~~!!!!!!!!!!!!
作者: 130007732    时间: 2015-10-4 13:42
小白不会JS,脚本虽好,但是不会用。。。

求在火车头浏览器具体的操作流程,比如先:得到问题,然后处理变量,保存到文本变量,再执行JS代码处理?
作者: acmilan    时间: 2016-3-2 17:20
好东西  !! 经典!!!




欢迎光临 火车浏览器官方论坛 (http://bbs.locoyposter.com/) Powered by Discuz! X3.2