表单验证码通常用于防止机器人或自动化工具提交表单,从而提高网站的安全性。以下是一个简单的HTML和JavaScript示例,用于创建一个基本的验证码系统。请注意,这只是一个基本的示例,实际的验证码系统可能需要更复杂的设计和更多的安全措施。
HTML部分:

<!DOCTYPE html>
<html>
<head>
<title>表单验证码</title>
</head>
<body>
<form id="myForm" action="/submit" method="post">
<!-- 其他表单字段 -->
<label for="captcha">验证码:</label><br>
<input type="text" id="captcha" name="captcha"><br>
<!-- 用于显示验证码的图片 -->
<img id="captchaImg" src="https://www.qq959.com/static/image/lazy.gif" class="lazy" original="https://www.qq959.com/static/image/nopic320.png" alt="验证码">
<!-- 提交按钮 -->
<input type="submit" value="提交">
</form>
</body>
</html>JavaScript部分(服务器端生成验证码图片):
这个部分需要服务器端编程,这里假设你使用的是PHP,你需要创建一个脚本(如generate_captcha.php)来生成验证码图片,这个脚本会生成一个随机的字符串(验证码),然后将其与图像一起显示,该字符串也需要被存储到会话(session)中,以便在用户提交表单时验证输入的验证码。
这是一个简单的PHP示例来生成验证码图片:
<?php session_start(); // 生成随机的验证码字符串并存储到session中 $_SESSION[’captcha’] = rand_str(); // rand_str() 是一个自定义函数,用于生成随机字符串 $captcha = $_SESSION[’captcha’]; // 创建验证码图片 $image = imagecreatetruecolor(100, 30); // 创建宽度为100像素,高度为30像素的图像 $background_color = imagecolorallocate($image, 255, 255, 255); // 设置背景颜色为白色 $text_color = imagecolorallocate($image, 0, 0, 0); // 设置文本颜色为黑色 imagefill($image, 0, 0, $background_color); // 用背景色填充图像 imagettftext($image, 15, 0, 5, 20, $text_color, ’arial.ttf’, $captcha); // 使用TrueType字体在图像上添加文本(验证码) header(’Content-type: image/png’); // 设置响应头为PNG图像格式 imagepng($image); // 输出图像内容并结束脚本执行(输出图像本身) imagedestroy($image); // 销毁图像资源并释放内存空间,这很重要,因为它可以防止内存泄漏,在脚本结束时自动调用此函数可能是一个好习惯,但在此处,由于脚本已经结束,所以实际上并不需要调用此函数,但出于习惯,我们仍然包含它。 ?>
这只是一个非常基础的示例,实际的验证码系统可能需要更复杂的设计,包括使用更复杂的图像生成技术(例如添加噪声和扭曲),以及使用AJAX进行前端验证等,还需要确保服务器端验证的安全性,以防止恶意用户绕过客户端验证等。





