JavaScript实现仿QQ随机数验证码功能
作者:闭包旅人时间:2026-10-25 10:01:38浏览:111
本文提供基于JavaScript实现的仿QQ风格随机数验证码功能完整代码。通过动态生成随机数字序列,引导用户按顺序点击,实现简单的前端交互验证。代码包含HTML结构、CSS样式布局及核心JS逻辑,可直接参考使用。
JavaScript实现仿QQ随机数验证码功能
本文分享了一个使用JavaScript编写的仿QQ风格随机数验证码的实现示例,供读者参考学习。
具体效果如下图所示:

以下是完整的实现代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<style>
.wrap {
width: 800px;
height: 600px;
border: 1px solid red;
position: relative;
}
.just {
padding: 10px;
position: absolute;
border: 1px solid red;
}
.garden {
width: 35px;
height: 35px;
text-align: center;
line-height: 35px;
position: absolute;
border: 1px solid blue;
border-radius: 50%;
}
</style>
<body>
<div class="wrap">
</div>
</body>
<script>
var wrap = document.querySelector(".wrap")
var arr = ["气定神闲", "飞蛾扑火", "高瞻远瞩", "同甘共苦"]
var num = Math.floor(Math.random() * arr.length);
for (var i = 0; i < arr[num].length; i++) {
let x = Math.floor(Math.random() * 800) + 1
let y = Math.floor(Math.random() * 600) + 1
let div = document.createElement("div");
div.setAttribute("style", "left:" + x + "px;top:" + y + "px");
div.classList.add("just")
div.innerText = arr[num][i]
wrap.appendChild(div)
}
var index = 0;
var str = "";
wrap.addEventListener("click", (e) => {
index++
let x = e.clientX - 17.25;
let y = e.clientY - 17.25;
if (e.target.innerText.length == 1) {
str += e.target.innerText;
console.log(e.target.innerText);
} else {
console.log("无效点击")
}
let div = document.createElement("div");
div.setAttribute("style", "left:" + x + "px;top:" + y + "px");
div.innerText = index
div.classList.add("garden")
wrap.appendChild(div)
if (index == 4) {
setTimeout(() => {
if (str == arr[num]) {
console.log("验证成功")
alert("验证成功")
} else {
alert("验证失败")
}
})
}
})
var newdiv = document.createElement("div")
newdiv.innerText = "请顺序点击:" + arr[num]
document.body.appendChild(newdiv)
</script>
</html>以上就是该随机数验证码功能的全部内容,希望能为读者的学习提供便利,同时也欢迎继续关注本站获取更多资源。
作者最新文章
什么时候该用JS构造器:与工厂模式、字面量的选择对比
2026-11-05 16:18:22
推荐几款轻量级JS照片墙开源库及对比
2026-11-05 15:56:19
JavaScript递归写法有哪些常见陷阱及避免方法
2026-11-05 14:53:38
JS数组浅拷贝与深拷贝怎么选?场景与方法总结
2026-11-05 14:41:02
p5.js 中 setup() 和 draw() 函数的执行机制详解
2026-11-05 12:32:38
