首页 > 解决方案 > 生成一个随机值并将其用于验证

问题描述

我正在尝试验证人类行为的输入字段。我可以在 JQuery 中生成一个随机代码,然后验证输入字段的这个值吗?

<div class="row">
  <div class="col-md-12 form-group">
     Human Test  = 
  </div>
</div>
<div class="row">
  <div class="col-md-12 form-group"><input type="text" value="" placeholder="Human Test" class="form-control" name="value_num" required/>
  <input class="input" name="captcha_num_hidden_contact" id="captcha_num_hidden_contact" type="hidden" value=""/>
</div>

在此处输入图像描述

标签: javascriptjquery

解决方案


是的,您必须分三个部分进行:

  1. 生成一个随机值(并在某处显示)
  2. 获取输入字段的值
  3. 将随机值与输入字段的值进行比较

这是一个例子:

// generate a random string
const random = Math.random().toString(36).substr(2, 5).toUpperCase();

// get the input field's value
const input = $('input[name="value_num"]').val();

// compare the two values
if (random === input) {
    alert("Input correct");
} else {
    alert("Input incorrect");
}

我想强调评论中已经提到的内容,这不是验证用户是否是机器人的方法。有更好的服务,例如Google 的 reCAPTCHA。一个好的经验法则是不要重新发明现有工具。


推荐阅读