js验证码高级版

本文介绍了一种使用JavaScript生成包含数字和英文字母的验证码的方法。通过利用Unicode码和随机数生成,确保了验证码的多样性和安全性。文章详细解释了代码的每一部分,包括如何创建数字、小写字母和大写字母的数组,并将它们组合在一起。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

相比于上一版把大小写和数字都罗列出来,这次使用了unicode码,比较方便

<script>
        function arr(n) {
        /////  先打印出随机数要的数字中英文大小写 ////////
            var arr1 = [];//数字
            for (var i = 0; i <= 9; i++) {
                arr1.push(i);
            }
            var arr2 = [];//英文小写
            for (var i = 97; i <= 122; i++) {
                arr2.push(String.fromCharCode(i));
            //       push在数组的结尾追加一个或者多个的数据
            //       string.fromcharcode将unicode码转成对应的字符(i)
            }
            var arr3 = [];//英文大写
            for (var i = 65; i <= 90; i++) {
                arr3.push(String.fromCharCode(i));
            }
            // 拼接成一组
            var arr4 = arr1.concat(arr2, arr3);
            console.log(arr4);//测试是否成功
        ////////////////////////////////////////结尾
        // 给一个验证码的长度
            var res = '';
        //   给个空字符串,给返回值,在函数外也可以生效
            for ( i = 0; i < n; i++) {
            // 循环 形参n次,自己给n实参。
                var a = rand(0, arr4.length - 1);
            //   给四次随机数,最大值在上面写的数字英文大小写里的数组里
                res += arr4[a];
            //   中英文大小写的随机数给到res
                console.log(res)
            //   测试是否生效
            }
            // 因为中英文大小写随机数可以出现四个英文,想要里面百分之百包含数字。
            // 思路:先搞一个数字,再随机一个位置,然后替换
            var num = rand(0, 9);
            //  随机数 
            var pos = rand(0, res.length - 1);
            //  随机数     最小值为零   最大值为res的最大长度
            res = res.replace(res[pos], num);
            // 替换  
            // console.log(res)
            return res
        }

        //用函数包装一个随机数,方便直接调用
        function rand(min, max) {  // 包装一个随机数,可以自己随意给大小
            return Math.round(Math.random() * (max - min)) + min;
        }

    </script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值