javascript - 生成一个随机值并将其用于验证
问题描述
我正在尝试验证人类行为的输入字段。我可以在 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>
解决方案
是的,您必须分三个部分进行:
- 生成一个随机值(并在某处显示)
- 获取输入字段的值
- 将随机值与输入字段的值进行比较
这是一个例子:
// 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。一个好的经验法则是不要重新发明现有工具。
推荐阅读
- javascript - 在对象中的对象数组中查找属性的最大值
- amazon-web-services - 使用 AWS Amplify 认证用户与 ALB 或 API 网关通信?
- ios - UIStackView - 将图像定位在兄弟的边缘
- php - 如何使此选项卡默认处于活动状态?
- google-sheets - 如何将上面单元格中的日期与一列日期匹配,并将单元格左侧的值带到匹配的单元格
- java - Jackson ObjectMapper 使用 Json 字符串键反序列化 Map
- scala - 使用 alpakka-elasticsearch 客户端进行弹性搜索多查询
- php - 如何处理包含单个文件的提交的重力表格
- vba - 访问错误 2683 - 此控件中没有对象
- javascript - 自定义 HTML 复选框标签