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)