溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

使用JavaScript怎么生成由字母數(shù)字組合的隨機(jī)字符串

發(fā)布時(shí)間:2021-05-11 16:57:05 來源:億速云 閱讀:176 作者:Leah 欄目:web開發(fā)

本篇文章給大家分享的是有關(guān)使用JavaScript怎么生成由字母數(shù)字組合的隨機(jī)字符串,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

JavaScript可以做什么

1.可以使網(wǎng)頁具有交互性,例如響應(yīng)用戶點(diǎn)擊,給用戶提供更好的體驗(yàn)。 2.可以處理表單,檢驗(yàn)用戶的輸入,并提供及時(shí)反饋節(jié)省用戶時(shí)間。 3.可以根據(jù)用戶的操作,動態(tài)的創(chuàng)建頁面。 4使用JavaScript可以通過設(shè)置cookie存儲在瀏覽器上的一些臨時(shí)信息。

方法一

奇妙的寫法

Math.random().toString(36).substr(2);

輸出結(jié)果

使用JavaScript怎么生成由字母數(shù)字組合的隨機(jī)字符串

解釋

很有意思,研究了一下,基本上toString后的參數(shù)規(guī)定可以是2-36之間的任意整數(shù),不寫的話默認(rèn)是10(也就是十進(jìn)制),此時(shí)返回的值就是那個(gè)隨機(jī)數(shù)。

若是偶數(shù),返回的數(shù)值字符串都是短的,若是奇數(shù),則返回的將是一個(gè)很大長度的表示值。
若<10 則都是數(shù)字組成,>10 才會包含字母。

所以如果想得到一長串的隨機(jī)字符,則需使用一個(gè) > 10 且是奇數(shù)的參數(shù),另外根據(jù)長度自行使用slice(2,n)截取!

方法二

這個(gè)倒是有很多的實(shí)現(xiàn)方法,由于上一種寫法不太符合需求所以寫了下一種,歡迎拍磚。

代碼

/*
** randomWord 產(chǎn)生任意長度隨機(jī)字母數(shù)字組合
** randomFlag-是否任意長度 min-任意長度最小位[固定位數(shù)] max-任意長度最大位
** xuanfeng 2014-08-28
*/
function randomWord(randomFlag, min, max){
  var str = "",
    range = min,
    arr = ['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'];
  // 隨機(jī)產(chǎn)生
  if(randomFlag){
    range = Math.round(Math.random() * (max-min)) + min;
  }
  for(var i=0; i<range; i++){
    pos = Math.round(Math.random() * (arr.length-1));
    str += arr[pos];
  }
  return str;
}

使用方法

生成3-32位隨機(jī)串:randomWord(true, 3, 32)
生成43位隨機(jī)串:randomWord(false, 43)

使用JavaScript怎么生成由字母數(shù)字組合的隨機(jī)字符串

以上就是使用JavaScript怎么生成由字母數(shù)字組合的隨機(jī)字符串,小編相信有部分知識點(diǎn)可能是我們?nèi)粘9ぷ鲿姷交蛴玫降摹OM隳芡ㄟ^這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI