js随机验证码

js随机验证码


<script>
    function getRand(startNumber, endNumber) {
        return parseInt(Math.random() * (endNumber - startNumber + 1) + startNumber);
    }
    function getYZM(num) {
        var yum = "";
        for (var i = 0; i < num; i++) {
            var randAS = getRand(48, 122);
            if ((randAS >= 48 && randAS <= 57) || (randAS >= 65 && randAS <= 90) || (randAS >= 97 && randAS <= 122)) {
                var chr = String.fromCharCode(randAS);
                yum += chr;

            }
            else {
                i--;
            }
        }
        return yum;

    }

    console.log(getYZM(num);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的JavaScript随机验证码带输入确定的示例代码: HTML代码: ``` <div> <label for="code">请输入验证码:</label> <input type="text" id="code" name="code" maxlength="4"> <button id="submit" onclick="checkCode()">确定</button> </div> <div> <canvas id="canvas" width="120" height="40"></canvas> <button onclick="refresh()">换一张</button> </div> ``` JavaScript代码: ``` // 生成随机验证码 function createCode() { var code = ""; var codeLength = 4; // 验证码长度 var codeChars = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; for (var i = 0; i < codeLength; i++) { var index = Math.floor(Math.random() * codeChars.length); code += codeChars.charAt(index); } return code; } // 绘制验证码 function drawCode(canvas, code) { var ctx = canvas.getContext("2d"); ctx.clearRect(0, 0, canvas.width, canvas.height); ctx.font = "bold 30px Arial"; ctx.fillStyle = "#000"; ctx.textAlign = "center"; ctx.textBaseline = "middle"; ctx.fillText(code, canvas.width / 2, canvas.height / 2); } // 刷新验证码 function refresh() { var canvas = document.getElementById("canvas"); var code = createCode(); drawCode(canvas, code); document.getElementById("code").value = ""; } // 验证验证码 function checkCode() { var inputCode = document.getElementById("code").value.toLowerCase(); var canvas = document.getElementById("canvas"); var code = canvas.getContext("2d").getImageData(0, 0, canvas.width, canvas.height); var pixels = code.data; var flag = true; for (var i = 0; i < pixels.length; i += 4) { var r = pixels[i]; var g = pixels[i + 1]; var b = pixels[i + 2]; if (r != 0 || g != 0 || b != 0) { flag = false; break; } } if (inputCode == "" || inputCode != codeText || flag == false) { alert("验证码错误!"); refresh(); } else { alert("验证码正确!"); refresh(); } } // 初始化 var canvas = document.getElementById("canvas"); var codeText = createCode(); drawCode(canvas, codeText); document.getElementById("submit").disabled = false; ``` 在上述代码中,`createCode()`函数用于生成随机验证码,`drawCode()`函数用于在指定的Canvas上绘制验证码,`refresh()`函数用于刷新验证码,`checkCode()`函数用于验证用户输入的验证码是否正确。在页面加载完成后,通过调用`drawCode()`函数和禁用提交按钮来初始化验证码。当用户点击“确定”按钮时,会调用`checkCode()`函数进行验证,验证成功后会弹出提示框,并刷新验证码。如果验证失败,则会弹出错误提示框并刷新验证码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值