JavaScript写一个随机验证码

首先声明一个用来放随机内容的数组
//这里我用的数字跟26个英文字母的大小写
var codeArr = ['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', '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']
封装一个verificationCode函数,传出一个参数n;实现生成指定个数的随机验证码
    function verificationCode(n) {
        var str = ""//用来存储验证码

        while (str.length < n) {
            //随机一个验证码的下标赋值给i
            var i = Math.floor(Math.random() * codeArr.length);
            //每循环一次 随机获取一次验证码中的一个值 ,每次获取的拼接到一起
            str += codeArr[i];
        }
        return str
    }
    verificationCode(4)//NT9o
    verificationCode(6)//vNDTEo

/*将得到的值赋值给需要使用的地方就可以了*/ 
可以给验证码添加一个随机颜色,具体方法如下
    function randomFn(max, min) {
        return Math.floor(Math.random() * (max + 1 - min)) + min
    }
    var rgb = `rgb(${randomFn(0, 255)},${randomFn(0, 255)},${randomFn(0, 255)})`
    //随便写个标签试一下
    var span = document.querySelector("span")
    span.style.color = rgb
    span.innerHTML = (verificationCode(6))

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,以下是一个基本的验证码实现,使用了HTML、CSS和JavaScript: HTML部分: ```html <div id="captcha"> <canvas id="canvas"></canvas> <input type="text" id="captchaInput" placeholder="输入验证码"> <button id="refreshBtn">刷新</button> <button id="submitBtn">提交</button> </div> ``` CSS部分: ```css #captcha { display: flex; flex-direction: column; align-items: center; } canvas { border: 1px solid #ccc; } input, button { margin-top: 10px; padding: 5px; font-size: 16px; } button { cursor: pointer; } ``` JavaScript部分: ```javascript // 获取canvas元素 const canvas = document.getElementById('canvas'); // 获取刷新按钮元素 const refreshBtn = document.getElementById('refreshBtn'); // 获取提交按钮元素 const submitBtn = document.getElementById('submitBtn'); // 获取输入框元素 const captchaInput = document.getElementById('captchaInput'); // 获取2D上下文 const ctx = canvas.getContext('2d'); // 定义验证码字符集 const charset = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; // 定义随机数函数 function random(min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; } // 生成随机验证码 function generateCaptcha() { // 生成随机的四个字符 let captcha = ''; for (let i = 0; i < 4; i++) { captcha += charset[random(0, charset.length - 1)]; } // 绘制验证码到canvas上 ctx.clearRect(0, 0, canvas.width, canvas.height); ctx.font = 'bold 30px sans-serif'; ctx.fillText(captcha, 10, 35); // 返回验证码字符串 return captcha; } // 初始化页面 function init() { // 设置canvas宽高 canvas.width = 200; canvas.height = 50; // 生成初始验证码 const captcha = generateCaptcha(); // 点击刷新按钮生成新的验证码 refreshBtn.addEventListener('click', function() { const captcha = generateCaptcha(); }); // 点击提交按钮检查验证码是否正确 submitBtn.addEventListener('click', function() { if (captchaInput.value.toLowerCase() === captcha.toLowerCase()) { alert('验证码正确'); } else { alert('验证码错误'); } }); } init(); ``` 以上代码实现了一个基本的验证码功能,当点击刷新按钮时会生成新的验证码,当点击提交按钮时会检查输入框中的值是否与当前验证码相同。注意,这只是一个非常简单的实现,实际中还需要考虑更多的安全和易用性问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风吹醒了梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值