欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

前端開發(fā)之JS生成32位隨機(jī)數(shù)的方法舉例

 更新時間:2023年01月31日 09:21:26   作者:三掌柜666  
最近有個需求,是需要生成32位長度的隨機(jī)數(shù),下面這篇文章主要給大家介紹了關(guān)于前端開發(fā)之JS生成32位隨機(jī)數(shù)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

前言

在前端開發(fā)過程中,關(guān)于JS邏輯相關(guān)的使用相比都不陌生,尤其是在日常開發(fā)中使用到的常用的邏輯內(nèi)容,如倒計時的使用、點(diǎn)擊時間放重復(fù)點(diǎn)擊、生成隨機(jī)數(shù)等等,這些都是非常常用的內(nèi)容。那么本篇博文就來分享一下關(guān)于JS生成32隨機(jī)數(shù)的方法,該知識點(diǎn)是實(shí)際開發(fā)必備知識點(diǎn),值得收藏,記錄歸納一下,方便后期查閱使用。

隨機(jī)數(shù)概念

隨機(jī)數(shù)是專門的隨機(jī)試驗的結(jié)果。在統(tǒng)計學(xué)的不同技術(shù)中需要使用隨機(jī)數(shù),比如在從統(tǒng)計總體中抽取有代表性的樣本的時候,或者在將實(shí)驗動物分配到不同的試驗組的過程中,或者在進(jìn)行蒙特卡羅模擬法計算的時候等等。產(chǎn)生隨機(jī)數(shù)有多種不同的方法。這些方法被稱為隨機(jī)數(shù)發(fā)生器。隨機(jī)數(shù)最重要的特性是:它所產(chǎn)生的后面的那個數(shù)與前面的那個數(shù)毫無關(guān)系。

使用場景

在前端開發(fā)中,關(guān)于隨機(jī)數(shù)生成的實(shí)際業(yè)務(wù)場景,大概有以下幾個方面:在支付的時候需要生成支付流水號(主要是微信支付,一般是32位隨機(jī)數(shù)),在集成一些第三方登錄時候需要傳遞一個32位隨機(jī)數(shù)(如中國移動獲取當(dāng)前手機(jī)號的業(yè)務(wù)場景需要隨機(jī)數(shù)),以及生成uuid或者后臺需要的唯一標(biāo)識(也是32位隨機(jī)數(shù))。

示例說明

廢話不多說,這里直接來分享一下實(shí)際生成32位隨機(jī)數(shù)的示例代碼,如下所示:

示例一:生成32位隨機(jī)流水號

    /*默認(rèn)去掉了容易混淆的字符oOLl,9gq,Vv,Uu,I1*/
    var $chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678';
    var maxPo = $chars.length;
    var randomNum = '';
    for (var i = 0; i < 32; i++) {
          randomNum += $chars.charAt(Math.floor(Math.random() * maxPo));
    }
    console.log("randomNum:",randomNum)

或者 生成32位隨機(jī)流水號(以函數(shù)形式來提現(xiàn),大寫字母)

function getRandom() {
 
     var array = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"],
 
    randomNum = "";
    for(var i = 0; i < 32; i++) {
        randomNum += array[parseInt(Math.random() * 36)];
    }
    return randomNum;
}

示例二:傳給后臺一個隨機(jī)的唯一標(biāo)識的參數(shù)(32位隨機(jī)數(shù),小寫字母)。

function getNum(){
    var chars = ['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'];
     var randomNum = "";
     for(var i=0;i<32;i++){
        var id = parseInt(Math.random()*61);
        randomNum += chars[id];
     }
     return randomNum;
}

引申

上面介紹的是比較簡單的隨機(jī)生成32位隨機(jī)數(shù)的方法,那么再來看一下其他方式的生成隨機(jī)數(shù)的方法,具體示例如下所示:

示例一:使用randomString,val表示長度,默認(rèn)32位

function randomString(val) {
  val = val || 32;
  var chars = "ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678",
  var maxPo = chars.length,
  randomNum = "";
  for (i = 0; i < val; i++) {
    randomNum += chars.charAt(Math.floor(Math.random() * maxPo));
  }
  return randomNum;
}
alert(randomString(32));

示例二:生成從100000~999999的隨機(jī)數(shù)

function getRandomNum(min, max) {
  var range = max - min;
  var rand = Math.random();
  return(min + Math.round(rand * range));
}
var num = getRandomNum(10000, 999999);
alert(num);

示例三:對已經(jīng)定義過的數(shù)組字符集合進(jìn)行隨機(jī)選取

var chars = ['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'];
 
function generateMixed(num) {
   var result = "";
   for(var i = 0; i < num ; i ++) {
     var id = Math.ceil(Math.random()*32);
     result += chars[id];
   }
   return result;
}
 
alert(generateMixed(8));

示例四:生成隨機(jī)數(shù)之后轉(zhuǎn)換成36進(jìn)制,再進(jìn)行截取

//如Math.random() 生成隨機(jī)數(shù)字, eg: 0.123456789,又如.toString(36) 轉(zhuǎn)化成36進(jìn)制 : "0.4fzyo82mvyr”,再如.slice(-8); 截取最后八位 : "yo82mvyr"。

var str = Math.random().toString(36).slice(-7);
 
alert(str);

示例五:把字符串集合隨機(jī)排序,隨機(jī)輸出指定的長度

function randomString(num) {
  var str = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
  var result = '';
  for (var i = num; i > 0; --i) {
    result += str[Math.floor(Math.random() * str.num)];
  }
  return result;
}
 
alert(randomString(7));

拓展

一般情況下,在前端開發(fā)中需要生成的都是32位隨機(jī)數(shù),但是也不排除其他的需求,如6位隨機(jī)數(shù)也有需求,具體的隨機(jī)生成6位數(shù)的操作如下所示:

    <!-- 生成六位隨機(jī)數(shù) -->
    <script type="text/javascript">
        var number = '';
        for(var i = 0;i<6;i++) {
            number += Math.floor(Math.random()*10);
        }
        console.log(number);
    </script>

最后

通過本文關(guān)于前端開發(fā)中JS生成32隨機(jī)數(shù)的使用總結(jié)的介紹,如果認(rèn)真閱讀并且實(shí)踐示例,尤其是從事前端開發(fā)不久的開發(fā)者來說尤為重要,是一篇值得閱讀的文章,且在實(shí)際開發(fā)中也是必用知識點(diǎn),所以說這個知識點(diǎn)是必備的,重要性就不在贅述。歡迎關(guān)注,一起交流,共同進(jìn)步。

到此這篇關(guān)于前端開發(fā)之JS生成32位隨機(jī)數(shù)的文章就介紹到這了,更多相關(guān)JS生成32位隨機(jī)數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論