Html5生成验证码的示例代码
<!DOCTYPE html>
<html>
<head>
<title>HTML5验证码生成</title>
</head>
<body>
<canvas id="captchaCanvas" width="100" height="30"></canvas>
<input type="text" id="captchaInput" placeholder="请输入验证码">
<button onclick="validateCaptcha()">验证</button>
<script src="script.js"></script>
</body>
</html>
const canvas = document.getElementById('captchaCanvas');
const ctx = canvas.getContext('2d');
const input = document.getElementById('captchaI 1. github.com
github.comnput');
// 生成随机字符
function generateRandomChar() {
const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
return chars.charAt(Math.floor(Math.random() * chars.le 1. github.com
MIT
github.comngth));
}
// 生成随机颜色
function getRandomColor() {
return '#' + Math.floor(Math.random() * 16777215).toString(16);
}
// 绘制验证码
function drawCaptcha() {
ctx.clearRect(0, 0, canvas.width, canvas.height);
ctx.font = 'bold 24px sans-serif';
ctx.textBaseline = 'middle';
ctx.textAlign = 'center';
const captchaText = '';
for (let i = 0; i < 4; i++) {
ctx.fillStyle = getRandomColor();
ctx.fillText(generateRandomChar(), 20 + i * 25, 15);
}
// 添加干扰线
for (let i = 0; i < 5; i++) {
ctx.beginPath();
ctx.moveTo(Math.random() * canvas.width, Math.random() * canvas.height);
ctx.lineTo(Math.random() * canvas.width, Math.random() * canvas.height);
ctx.str 1. bulldogjob.pl
bulldogjob.ploke();
}
}
// 验证验证码
function validateCaptcha() {
if (input.value.toLowerCase() === captchaText.toLowerCase()) {
alert('验证码正确!');
} else {
alert('验证码错误!');
drawCaptcha();
}
}
// 初始绘制验证码
drawCaptcha();
注意: 上述代码提供了一个基本的验证码生成示例,在实际应用中,可能需要根据具体需求进行调整和优化。
想要了解更多,可以查看以下资源:
你可以提出以下问题:
希望这个回答能帮助你实现HTML5验证码生成功能!