本文介绍如何使用JavaScript生成随机验证码并进行校验。内容涵盖两种获取事件源的方法:直接使用var定义与function定义变量,两者效果一致。通过示例展示了错误数据验证提示及成功跳转指定路径的实现过程,帮助开发者掌握前端验证码交互逻辑。
JavaScript随机验证码生成与校验概述
本文主要介绍JavaScript中随机验证码的生成与校验方法,供读者参考。
获取事件源的两种写法
在获取事件源时,存在两种不同的写法,下面将分别列出。
第一种方式是通过var关键字直接定义变量。
var定义变量的实现代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>随机验证码校验</title>
<style type="text/css">
#code{
width: 100px;
height: 100px;
background-color: #ddd;
padding: 10px;
line-height: 100px;
text-align: center;
font-size: 20px;
color: red;
/*font-weight: bold;*/
}
</style>
</head>
<body>
<div id="code"></div>
<input type="text" name="" id="newCode">
<input type="button" name="" id="validate" value="验证">
<script type="text/javascript">
window.onload = function (){
var code;
// 1.获取对应的标签
var codeDiv = document.getElementById("code");
var newCodeInput = document.getElementById("newCode");
var validate = document.getElementById("validate");
// 加载页面获取对应验证码
creatCode()
// 1.获取min到max之间的整数 1~100
function random(max,min){
return Math.floor(Math.random()*(max-min)+min);
}
function creatCode(){
code = "";
// 设置长度
var codeLenth = 4;
var randomCode =[0,1,2,3,4,5,6,7,8,9,"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"];
for(var i=0;i<codeLenth;i++){
// 设置随机范围36范围
var index = random(0,36);
code += randomCode[index];
}
codeDiv.innerHTML = code;
}
// 验证按钮校验
validate.onclick = function (){
// 获取输入用户的验证码
var newCode = newCodeInput.value.toUpperCase();
if (newCode === code){
// 验证成功 跳转对应的网址
window.location.href = "http://www.baidu.com";
}else {
// 验证失败
alert("验证失败,请重新输入")
// 输入框置空
newCodeInput.value = "";
// 重新获取验证码
creatCode();
}
}
}
</script>
</body>
</html>
第二种方式则是通过function来定义变量。
function定义变量的实现代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>随机验证码校验</title>
<style type="text/css">
#code{
width: 100px;
height: 100px;
background-color: #ddd;
padding: 10px;
line-height: 100px;
text-align: center;
font-size: 20px;
color: red;
/*font-weight: bold;*/
}
</style>
</head>
<body>
<div id="code"></div>
<input type="text" name="" id="newCode">
<input type="button" name="" id="validate" value="验证">
<script type="text/javascript">
window.onload = function (){
var code;
// 1.获取对应的标签(获取事件源)
function $(id){
return typeof id === "string"?document.getElementById(id):null;
}
// 加载页面获取对应验证码
creatCode()
// 1.获取min到max之间的整数 1~100
function random(max,min){
return Math.floor(Math.random()*(max-min)+min);
}
function creatCode(){
code = "";
// 设置长度
var codeLenth = 4;
var randomCode =[0,1,2,3,4,5,6,7,8,9,"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"];
for(var i=0;i<codeLenth;i++){
// 设置随机范围36范围
var index = random(0,36);
code += randomCode[index];
}
$("code").innerHTML = code;
}
// 验证按钮校验
$("validate").onclick = function (){
// 获取输入用户的验证码
var newCode = $("newCode").value.toUpperCase();
if (newCode === code){
// 验证成功 跳转对应的网址
window.location.href = "http://www.baidu.com";
}else {
// 验证失败
alert("验证失败,请重新输入")
// 输入框置空
$("newCode").value = "";
// 重新获取验证码
creatCode();
}
}
}
</script>
</body>
</html>
实现效果展示
这两种方式实现的效果相同,具体效果如下图所示。

错误数据验证提示
当输入的数据不符合要求时,系统会给出相应的错误提示。

正确数据验证与跳转
若输入数据正确并点击验证,验证成功后页面将跳转至指定路径。
以上内容即为本文的全部介绍,希望能对读者的学习有所帮助,同时也欢迎大家继续支持本站。