火车浏览器官方论坛
标题:
用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变量中的字符是否包含
+ - * /
if (str.indexOf("*") > 0)
{
} else if (str.indexOf("-") > 0)
{
}else if (str.indexOf("+") > 0)
{
}else if (str.indexOf("/") > 0)
{
}
复制代码
然后使用split分割str变量,我们用 "-" 来做例子
var q = str.split('-');
复制代码
得到的结果如下图:
[attach]107[/attach]
["21", "9=?"] 是一个数组, [0] == 21 [1] == 9=?
接下来我们获取 左边跟右边的字符,相减,就得到了结果
var temp1 =q[0];
var temp2 =q[1].replace("=?",""); //把多余的字符替换为空
var result =Number(temp1)-Number(temp2);
复制代码
得到的结果如下图:
[attach]108[/attach]
然后把得到的结果写入验证问题的文本框内就行了
document.getElementById("answer").value= result
复制代码
最终结果如下图:
[attach]109[/attach]
到此整个识别的过程就已经做好了,接下来我们把代码写完整,就可以实现效果了!
最终的JS代码
var str =document.getElementById("questionstr").innerHTML;
if (str.indexOf("*") > 0)
{
var q = str.split('*');
var temp1 =q[0];
var temp2 =q[1].replace("=?","");
document.getElementById("answer").value=Number(temp1)*Number(temp2);
} else if (str.indexOf("-") > 0)
{
var q = str.split('-');
var temp1 =q[0];
var temp2 =q[1].replace("=?","");
document.getElementById("answer").value=Number(temp1)-Number(temp2);
}else if (str.indexOf("+") > 0)
{
var q = str.split('+');
var temp1 =q[0];
var temp2 =q[1].replace("=?","");
document.getElementById("answer").value=Number(temp1)+Number(temp2);
}else if (str.indexOf("/") > 0)
{
var q = str.split('/');
var temp1 =q[0];
var temp2 =q[1].replace("=?","");
document.getElementById("answer").value=Number(temp1)/Number(temp2);
}
复制代码
作者:
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