基于数组字符串的简单javascript验证码

基于数组字符串的简单javascript验证码,javascript,jquery,arrays,Javascript,Jquery,Arrays,我正在尝试根据我将在数组中更新的字符串创建简单的javascript验证码 它需要以这种方式工作: 我的数组如下:[黑、红、蓝、绿] 从我的数组中选择一个随机字符串 将span中选择的随机字符串替换为“请在下一个字段中写入随机字符串” 然后检查$.trim$.contact form inputhreader-answer.val===随机字符串 目前,我只创建了一个解决方案,该解决方案使用一个字符串,而不是来自我的arra的随机字符串,如下所示: $(".contact-form form#g

我正在尝试根据我将在数组中更新的字符串创建简单的javascript验证码

它需要以这种方式工作:

我的数组如下:[黑、红、蓝、绿] 从我的数组中选择一个随机字符串 将span中选择的随机字符串替换为“请在下一个字段中写入随机字符串” 然后检查$.trim$.contact form inputhreader-answer.val===随机字符串 目前,我只创建了一个解决方案,该解决方案使用一个字符串,而不是来自我的arra的随机字符串,如下所示:

$(".contact-form form#gform_1").before('<div id="header-question"><span>please write "red" in the next field</span><input id="header-answer" type="text" name=""></div>');

if ($.trim($(".contact-form input#header-answer").val()) === "red") {
  $(".contact-form form#gform_1").submit();
}
else {
  alert('wrong answer try again!');
  return false;
}

虽然我同意上面的评论,但我认为标题是不正确的。这是您要查找的内容的一小部分。我再次强调,上述评论是正确的,认为这不会成为保护提交的安全方式

var a = ["black", "red", "blue", "green"];
var item = a[Math.floor(Math.random()*a.length)];

$(".contact-form form#gform_1").before('<div id="header-question"><span>please write "' + item + '" in the next field</span></div>');

$(".contact-form form#gform_1").on("submit", function(e) {
    if ($.trim($(".contact-form input#header-answer").val()) === item) {
        //$(".contact-form form#gform_1").submit();
        alert("all good");
    }
    else {
        alert('wrong answer try again!');
        return false;
    }
});

这不是验证码。。。验证码是使用图像或音频源制作的,使计算机和自动程序无法识别它。因此,在任何程序都可以读取并在毫秒内破解的范围内使用纯文本是无用的,没有任何意义。服务器也需要知道秘密。一个好的浏览器调试器将suffice@Marco博内利你是对的,我知道!但我需要为希伯来语字符串创建简单的验证码解决方案。大多数机器人不知道如何使用希伯来语。如果你知道更好的希伯来语字符串解决方案,我很高兴知道。谢谢@Chris,我需要为希伯来语字符串创建简单的验证码解决方案。大多数机器人不知道如何使用希伯来语。如果你知道更好的希伯来字符串解决方案,我很高兴知道。我不确定希伯来字符串是否会有很大的不同。归根结底,这取决于你在保护什么,以及阻止机器人有多重要。@user2413244-试试穆斯林机器人!?无论如何,大多数机器人对这种语言不感兴趣——对他们来说,是一系列的比特。我假设我的答案不包括问题的验证码部分?如果你阅读了问题的内容,我的回答涵盖了除误导性标题之外的所有问题。