js案例混合驗證碼之概率誤區(qū)

前言:

? ? ? 在學習js的初級階段我們大概率會遇上一個經典的題目如何生成驗證碼择诈,一開始我們做的一般是生成數字驗證碼昙篙,這個問題比較簡單昧旨,只要在循環(huán)中嵌入一個random方法就可以了劳翰。之后要求一般會提升為生成數字和字母混合驗證碼。在處理混合驗證碼的時候您机,許多同學會犯一個比較嚴重的錯誤,就是取的內容不夠真正的隨機年局。

? ? ? 我一開始在考慮這個問題的時候际看,思路是先生成一個數組用來裝數字,再生成兩個數組分別盛裝大小寫字母矢否。最后利用concat方法將三個數組拼接在一起仲闽,然后隨機從中取四位數。這種方法確實能生成四位數字和字母驗證碼僵朗,但是卻是錯的赖欣,因為它并沒有做到真正的隨機。在拼接的數組中验庙,一共有10位數字+26大寫字母+26小寫字母顶吮。如果我們從其中抽取一位字符,那么抽取到數字和大小寫字母的概率還相同嗎粪薛?

? ? ? 下面介紹一種方法悴了,這種方法的思路是先建立一個數據庫,這個數據庫中包含數字违寿,和大小寫字母让禀。數據庫的數據數量不限(是你驗證碼位數的整數倍),但是要保證數字和大小寫字母的數量是相同陨界。然后從數據庫中隨機抽取四位葱绒。

代碼:

<!DOCTYPE html>

<html lang="en">

? ? <meta charset="UTF-8">

? ? <title>Title

? ? //建庫

? ? function rs() {

var str ="";

? ? ? ? for(var i=0;i<4;i++){

var num =random(0,9);

? ? ? ? ? ? var az =String.fromCharCode(random(97,122));

? ? ? ? ? ? var AZ =String.fromCharCode(random(65,90));

? ? ? ? ? ? str += str+num+az+AZ;

? ? ? ? }

//開始真正的隨機抽取四個

? ? ? ? var stq ="";

? ? ? ? for(var j=0;j<4;j++){

stq += str[random(0,str.length-1)]

}

return stq;

? ? }

console.log(rs());

? ? function random(a,b) {

return Math.round(Math.random()*(a-b)+b);

? ? }

</html>

結果如圖:

總結:

????代碼本身并不難菱鸥,重點是不能陷入誤區(qū),和這一題易錯點相似的還有隨機生成六位十六進制顏色值的問題,許多同學在做一這題的時候每一位都直接從包含數字和字母的數組中隨機生成一位字符忽媒,最后拼接在一起,這其實還是陷入了概率誤區(qū)花颗。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末卖哎,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子录淡,更是在濱河造成了極大的恐慌捌木,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,376評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嫉戚,死亡現場離奇詭異刨裆,居然都是意外死亡澈圈,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 90,126評論 2 385
  • 文/潘曉璐 我一進店門帆啃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來瞬女,“玉大人,你說我怎么就攤上這事努潘》掏担” “怎么了?”我有些...
    開封第一講書人閱讀 156,966評論 0 347
  • 文/不壞的土叔 我叫張陵疯坤,是天一觀的道長报慕。 經常有香客問我,道長压怠,這世上最難降的妖魔是什么卖子? 我笑而不...
    開封第一講書人閱讀 56,432評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮刑峡,結果婚禮上洋闽,老公的妹妹穿的比我還像新娘。我一直安慰自己突梦,他們只是感情好诫舅,可當我...
    茶點故事閱讀 65,519評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著宫患,像睡著了一般刊懈。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上娃闲,一...
    開封第一講書人閱讀 49,792評論 1 290
  • 那天虚汛,我揣著相機與錄音,去河邊找鬼皇帮。 笑死卷哩,一個胖子當著我的面吹牛,可吹牛的內容都是我干的属拾。 我是一名探鬼主播将谊,決...
    沈念sama閱讀 38,933評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼渐白!你這毒婦竟也來了尊浓?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,701評論 0 266
  • 序言:老撾萬榮一對情侶失蹤纯衍,失蹤者是張志新(化名)和其女友劉穎栋齿,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 44,143評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡瓦堵,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,488評論 2 327
  • 正文 我和宋清朗相戀三年基协,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片谷丸。...
    茶點故事閱讀 38,626評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡堡掏,死狀恐怖应结,靈堂內的尸體忽然破棺而出刨疼,到底是詐尸還是另有隱情,我是刑警寧澤鹅龄,帶...
    沈念sama閱讀 34,292評論 4 329
  • 正文 年R本政府宣布揩慕,位于F島的核電站,受9級特大地震影響扮休,放射性物質發(fā)生泄漏迎卤。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,896評論 3 313
  • 文/蒙蒙 一玷坠、第九天 我趴在偏房一處隱蔽的房頂上張望蜗搔。 院中可真熱鬧,春花似錦八堡、人聲如沸樟凄。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽缝龄。三九已至,卻和暖如春挂谍,著一層夾襖步出監(jiān)牢的瞬間叔壤,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工口叙, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留炼绘,地道東北人。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓妄田,卻偏偏與公主長得像饭望,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子形庭,可洞房花燭夜當晚...
    茶點故事閱讀 43,494評論 2 348

推薦閱讀更多精彩內容

  • 第五章******************************************************...
    fastwe閱讀 673評論 0 0
  • 簡述JavaScript起源起源于美國的Netscape公司囤踩,原名為LiveScript旨椒,后改為JavaScrip...
    3ab670b99521閱讀 2,989評論 0 0
  • 一、函數 1) 作用 封裝一段待執(zhí)行的代碼 2)語法 3)使用 函數名自定義堵漱,見名知意综慎,命名規(guī)范參照變量的命名規(guī)范...
    南坡三舅閱讀 234評論 0 1
  • 第1章 認識JS JavaScript能做什么?1.增強頁面動態(tài)效果(如:下拉菜單勤庐、圖片輪播示惊、信息滾動等)2.實現...
    mo默22閱讀 1,250評論 0 5
  • 5、Math中的常用方法(10個)6愉镰、Date日期操作基礎詳解以及常用方法(12個) 5米罚、Math中的常用方法(1...
    萌妹撒閱讀 307評論 0 1