Heim  >  Artikel  >  Web-Frontend  >  JS实现的生成随机数的4个函数分享_基础知识

JS实现的生成随机数的4个函数分享_基础知识

WBOY
WBOYOriginal
2016-05-16 16:14:341092Durchsuche

第一种方法

复制代码 代码如下:

/*
*@desc:生成随机字符串
*@remark:toString方法可以接收一个基数作为参数的原理,这个基数从2到36封顶。如果不指定,默认基数是10进制
*/
function generateRandomAlphaNum(len) {
    var rdmString = "";
    for (; rdmString.length     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         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             var thisArr = charCodeIndex[i];
            for(var j=thisArr[0],thisLen=thisArr[1];j                 charCodeArr.push(j);
            }
        }
    }

    function ranStr(slen){
        slen = slen || 20;
        charCodeArr.length

        var res = [];
        for(var i=0;i             var index = getBetweenRound(0,61);
            res.push(String.fromCharCode(charCodeArr[index]));
        }
        return res.join('');
    };

    this.ranStr = ranStr;
})();

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn