首頁 > web前端 > js教程 > 主體

JS實現的生成隨機數的4個函數分享_基礎知識

WBOY
發布: 2016-05-16 16:14:34
原創
1122 人瀏覽過

第一種方法

複製程式碼 程式碼如下:

/*
*@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;
})();

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!