JS实现的生成随机数的4个函数分享
JS实现的生成随机数的4个函数分享
发布时间:2016-12-30 来源:查字典编辑
摘要:第一种方法复制代码代码如下:/**@desc:生成随机字符串*@remark:toString方法可以接收一个基数作为参数的原理,这个基数从...

第一种方法

复制代码 代码如下:

/*

*@desc:生成随机字符串

*@remark:toString方法可以接收一个基数作为参数的原理,这个基数从2到36封顶。如果不指定,默认基数是10进制

*/

function generateRandomAlphaNum(len) {

var rdmString = "";

for (; rdmString.length < len; rdmString += Math.random().toString(36).substr(2));

return rdmString.substr(0, len);

}

第二种方法

复制代码 代码如下:

//JS生成GUID函数,类似.net中的NewID();

function S4() {

return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);

}

function NewGuid() {

return (S4() + S4() + "-" + S4() + "-" + S4() + "-" + S4() + "-" + S4() + S4() + S4());

}

第三种方法

复制代码 代码如下:

//JS生成GUID函数,类似.net中的NewID();

function newGuid() {

var guid = "";

for (var i = 1; i <= 32; i++) {

var n = Math.floor(Math.random() * 16.0).toString(16);

guid += n;

if ((i == 8) || (i == 12) || (i == 16) || (i == 20))

guid += "-";

}

return guid;

}

第四种方法

复制代码 代码如下:

/*

*@desc:生成随机字符串

*@demo:console.log(ranStr());

*/

;(function(){

//数字0-9,大写字母,小写字母,ASCII或UNICODE编码(十进制),共62个

var charCodeIndex = [[48,57],[65,90],[97,122]];

var charCodeArr = [];

function getBetweenRound(min,max){

return Math.floor(min+Math.random()*(max-min));

};

function getCharCode(){

for(var i=0,len=3;i<len;i++){

var thisArr = charCodeIndex[i];

for(var j=thisArr[0],thisLen=thisArr[1];j<=thisLen;j++){

charCodeArr.push(j);

}

}

}

function ranStr(slen){

slen = slen || 20;

charCodeArr.length<62 && getCharCode();

var res = [];

for(var i=0;i<slen;i++){

var index = getBetweenRound(0,61);

res.push(String.fromCharCode(charCodeArr[index]));

}

return res.join('');

};

this.ranStr = ranStr;

})();

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Javascript教程学习
热门Javascript教程学习
编程开发子分类