JavaScript实现简单验证码生成与验证

作者:竹影

时间:2026-10-21

浏览:202

本文介绍了如何使用JavaScript和HTML制作一个简单的验证码。通过定义随机字符数组、生成随机索引拼接字符串,并结合CSS样式展示验证码。代码包含生成验证码的函数及点击刷新逻辑,适用于基础前端验证场景。

文章目录

JavaScript验证码生成原理

本文分享了利用JavaScript实现验证码生成的具体代码示例,供读者参考学习。

HTML结构与CSS样式定义


<html>
<head>
<meta charset="utf-8"/>
<title>js验证码</title>
<style type="text/css">
 #login{
  width:50px;
  height:30px;
  line-height:30px;
  margin:0 auto;
  background-color:#eee;
  text-align:center;
  color:red;
 }
 p{
  width:75px;
  height:30px;

  margin:0 auto;
 }
 
</style>
</head>
<body>
<p>验证码:</p>
<div id="login" onclick="show()"><a href="#"></a></div>
<script type="text/javascript">
  function codes(n){
      var a="azxcvbnmsdfghjklqwertyuiopZXCVBNMASDFGHJKLQWERTYUIOP0123456789";
      var b="";
    for (var i = 0;i<n;i++){
      var index=Math.floor(Math.random()*62);
       b+=a.charAt(index);

    }
    return b;
    };
    function show(){
      document.getElementById("login").innerHTML=codes(4);
    
  }
  window.onload=show;


</script>

</body>
</html>

验证码生成逻辑代码

以下是另一部分JavaScript验证码的实现代码:

验证码验证与交互处理


var code ; //在全局定义验证码 
//产生验证码 
function createCode(){ 
 code = ""; 
 var codeLength = 4;//验证码的长度 
 var checkCode = document.getElementById("code"); 
 var random = new Array(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 < codeLength; i++) {//循环操作 
 var index = Math.floor(Math.random()*36);//取得随机数的索引(0~35) 
 code += random[index];//根据索引取得随机数加到code上 
 } 
 checkCode.value = code;//把code值赋给验证码 
} 
//校验验证码 
document.getElementById("Yzm").addEventListener("change",validate); 
 
function validate(){ 
 var inputCode = document.getElementById("Yzm").value.toUpperCase(); //取得输入的验证码并转化为大写 
 if(inputCode.length <= 0) { //若输入的验证码长度为0 
 alert("请输入验证码!"); //则弹出请输入验证码 
 $("#Yzm").focus(); 
 YZM = false; 
 } 
 else if(inputCode != code ) { //若输入的验证码与产生的验证码不一致时 
 alert("验证码输入错误!@_@"); //则弹出验证码输入错误 
 createCode();//刷新验证码 
 $("#Yzm").val("");<span style="font-family: Arial, Helvetica, sans-serif;">//清空文本框</span> 
 $("#Yzm").focus();//重新聚焦验证码框 
 YZM = false; 
 } 
 else { //输入正确时 
 $("#Yzm").blur();//绑定验证码输入正确时要做的事 
 YZM = true; 
 
 } 
}; 

验证码运行效果如图所示:

JavaScript验证码生成原理

以上就是本文的全部内容,希望能为读者的学习提供有益帮助,同时也欢迎大家继续支持本站。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章