最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

前言

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

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

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

使用場(chǎng)景

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

示例說(shuō)明

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

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

    /*默認(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ī)流水號(hào)(以函數(shù)形式來(lái)提現(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;
}

示例二:傳給后臺(tái)一個(gè)隨機(jī)的唯一標(biāo)識(shí)的參數(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;
}

引申

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

示例一:使用randomString,val表示長(zhǎng)度,默認(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);

示例三:對(duì)已經(jīng)定義過(guò)的數(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ī)輸出指定的長(zhǎng)度

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));

拓展

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

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

相關(guān)文章

  • JavaScript+node實(shí)現(xiàn)三級(jí)聯(lián)動(dòng)菜單

    JavaScript+node實(shí)現(xiàn)三級(jí)聯(lián)動(dòng)菜單

    這篇文章主要為大家詳細(xì)介紹了JavaScript+node實(shí)現(xiàn)三級(jí)聯(lián)動(dòng)菜單,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • JS基于正則表達(dá)式實(shí)現(xiàn)的密碼強(qiáng)度驗(yàn)證功能示例

    JS基于正則表達(dá)式實(shí)現(xiàn)的密碼強(qiáng)度驗(yàn)證功能示例

    這篇文章主要介紹了JS基于正則表達(dá)式實(shí)現(xiàn)的密碼強(qiáng)度驗(yàn)證功能,涉及javascript事件響應(yīng)及基于正則的字符遍歷、判斷等相關(guān)操作技巧,需要的朋友可以參考下
    2017-09-09
  • 5款Javascript顏色選擇器

    5款Javascript顏色選擇器

    5款JavaScript顏色選擇器(含jQuery插件)。
    2009-10-10
  • 使用Javascript簡(jiǎn)單計(jì)算器

    使用Javascript簡(jiǎn)單計(jì)算器

    這篇文章主要為大家詳細(xì)介紹了使用Javascript簡(jiǎn)單計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • js自定義Tab選項(xiàng)卡效果

    js自定義Tab選項(xiàng)卡效果

    這篇文章主要為大家詳細(xì)介紹了js自定義Tab選項(xiàng)卡效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • JavaScript中新數(shù)組分組方法詳解

    JavaScript中新數(shù)組分組方法詳解

    對(duì)數(shù)組中的項(xiàng)目進(jìn)行分組,你可能已經(jīng)做過(guò)很多次了,好消息是,JavaScript?現(xiàn)在有了分組方法,所以你再也不必這樣做了,下面我們就來(lái)看看它們的具體使用吧
    2024-02-02
  • JS中Location使用詳解

    JS中Location使用詳解

    javascript中 location用于獲取或設(shè)置窗體的URL,并且可以用于解析URL,是BOM中最重要的對(duì)象之一,下面我們就來(lái)詳細(xì)探討下Location對(duì)象的使用。
    2015-05-05
  • js實(shí)現(xiàn)雙人五子棋小游戲

    js實(shí)現(xiàn)雙人五子棋小游戲

    這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)雙人五子棋小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • javascript函數(shù)的四種調(diào)用模式

    javascript函數(shù)的四種調(diào)用模式

    本文詳細(xì)介紹了javascript函數(shù)的四種調(diào)用模式。具有一定的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-01-01
  • 小程序?qū)崿F(xiàn)點(diǎn)擊動(dòng)畫效果

    小程序?qū)崿F(xiàn)點(diǎn)擊動(dòng)畫效果

    這篇文章主要為大家詳細(xì)介紹了小程序?qū)崿F(xiàn)點(diǎn)擊動(dòng)畫效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04

最新評(píng)論

申扎县| 林甸县| 上犹县| 聊城市| 美姑县| 项城市| 获嘉县| 三河市| 罗甸县| 沁阳市| 张掖市| 新津县| 邵武市| 贵溪市| 绵阳市| 门头沟区| 金塔县| 那坡县| 莱西市| 沁源县| 蓬安县| 温州市| 广宁县| 精河县| 龙井市| 鄂温| 武山县| 凌源市| 宁强县| 澄城县| 车致| 和林格尔县| 南郑县| 张北县| 垫江县| 班玛县| 石林| 杭锦旗| 休宁县| 亳州市| 兴山县|