js随机数、随机16位数、随机32位数、随机N位数

JS随机数、随机16位数、随机32位数、随机N位数


前言

最近在做加解密这一块需要随机16位的或者32位的随机,由数字和字母组成,在网上找没找到现成的,于是自己就封装了一个

提示:以下是本篇文章正文内容,下面案例可供参考

一、随机数

支持最小值-最大值区间随机数示例: console.log(getRandom(0,9)输出0-9的随机数

1.代码如下

 function getRandom(a,b){
            var max = a;
            var min = b;
            if(a<b){
                max = b;
                min = a;
            }
            return parseInt(Math.random()*(max-min))+min;
        };
	getRandom(0,9)//结果是0-9

二、随机16位数、随机32位数、随机N位数

代码如下(示例)suijione(true,true,false,16)输出结果MLB2PKBPHT518IIZ 16位的随机数
解释一下参数:
suijione(true,true,true,16)`
随机数中是否包含数字,随机数中是否包大写字母,随机数中是否包小写字母,生成多少位随机数

1.代码如下

   function getRandom(a,b){
            var max = a;
            var min = b;
            if(a<b){
                max = b;
                min = a;
            }
            return parseInt(Math.random()*(max-min))+min;
        };
	function suijione(num,maxA,minlA,fqy){
            let arr=[]
            let arr1=[]
            let arr2=[]
            if(num){
                for(let m=0;m<=9;m++){
                    arr.push(m)
                }
            }
            if(maxA){
                for(let m=65;m<=90;m++){
                    arr1.push(m)
                }
            }
            if(minlA){
                for(let m=97;m<=122;m++){
                    arr2.push(m)
                }
            }
            if(!fqy){
                console.log('生成位数必传')
            }
            let mergeArr = arr.concat(arr1);
            let mergeArr1 = mergeArr.concat(arr2);
            let _length=mergeArr1.length
           let text=''
            for(let m=0;m<fqy;m++){
                let text1=''
                let random=this.getRandom(0,_length)
                if((mergeArr1[random])<=9){
                    text1=mergeArr1[random]
                }else if((mergeArr1[random])>9){
                    text1=String.fromCharCode(mergeArr1[random])
                }
                text+=text1
            }
            return text
        }
		
	suijione(true,true,false,16)

总结

希望能帮到大家,求个关注,求个赞,呜呜呜,两年了一个关注没有
  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值