火车浏览器官方论坛

 找回密码
 立即注册
查看: 8078|回复: 4
打印 上一主题 下一主题

[图文] 用JS方式处理文类类型验证问题的答案

[复制链接]

14

主题

120

帖子

947

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
947
跳转到指定楼层
楼主
发表于 2014-11-28 14:42:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
注册网址:http://www.liaorujiang.com.cn/member/register.php


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

先获取验证问题区域的 html文本
var str =document.getElementById("questionstr").innerHTML;

使用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('-');
复制代码
得到的结果如下图:

["21", "9=?"]  是一个数组, [0] == 21 [1] == 9=?
接下来我们获取 左边跟右边的字符,相减,就得到了结果
  1. var temp1 =q[0];
  2. var temp2 =q[1].replace("=?",""); //把多余的字符替换为空
  3. var result =Number(temp1)-Number(temp2);
复制代码
得到的结果如下图:

然后把得到的结果写入验证问题的文本框内就行了
  1. document.getElementById("answer").value= result
复制代码
最终结果如下图:

到此整个识别的过程就已经做好了,接下来我们把代码写完整,就可以实现效果了!

最终的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. }
复制代码




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

0

主题

21

帖子

49

积分

新手上路

Rank: 1

积分
49
沙发
发表于 2015-2-25 18:46:51 | 只看该作者

顶,好脚本.官方出品,必属精品!
回复 支持 反对

使用道具 举报

0

主题

6

帖子

140

积分

新手上路

Rank: 1

积分
140
板凳
发表于 2015-4-6 11:21:34 | 只看该作者
好贴。既然没人顶。。。~~~~~~~~~~~~~!!!!!!!!!!!!
回复 支持 反对

使用道具 举报

0

主题

2

帖子

8

积分

新手上路

Rank: 1

积分
8
地板
发表于 2015-10-4 13:42:15 | 只看该作者
小白不会JS,脚本虽好,但是不会用。。。

求在火车头浏览器具体的操作流程,比如先:得到问题,然后处理变量,保存到文本变量,再执行JS代码处理?
回复 支持 反对

使用道具 举报

0

主题

19

帖子

250

积分

中级会员

Rank: 3Rank: 3

积分
250
5#
发表于 2016-3-2 17:20:22 | 只看该作者
好东西  !! 经典!!!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|火车浏览器  

GMT+8, 2024-4-27 10:25 , Processed in 0.086953 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表