摘要:
本文說明如何使用js產生n到m間的隨機數字,主要目的是為後期的js產生驗證碼做準備。
Math.random()函數傳回0和1之間的偽隨機數,可能為0,但總是小於1,[0,1)
產生n-m,包含n但不包含m的整數:
第一步算出 m-n的值,假設等於w
第二步Math.random()*w
第三步Math.random()*w n
第四步parseInt(Math.random()*w n, 10)
產生n-m,不包含n但包含m的整數:
第一步算出 m-n的值,假設等於w
第二步Math.random()*w
第三步Math.random()*w n
第四步Math.floor(Math.random()*w n) 1
產生n-m,不含n和m的整數:
第一步算出 m-n-2的值,假設等於w
第二步Math.random()*w
第三步Math.random()*w n 1
第四步Math.round(Math.random()*w n 1) 或 Math.ceil(Math.random()*w n 1)
產生n-m,包含n和m的隨機數:
第一步算出 m-n的值,假設等於w
第二步Math.random()*w
第三步Math.random()*w n
第四步Math.round(Math.random()*w n) 或 Math.ceil(Math.random()*w n)
例:
產生800-1500的隨機整數,包含800但不包含1500
Math.ceil() 傳回大於等於數字參數的最小整數(取整函數),對數字進行上捨去
Math.floor() 傳回小於等於數字參數的最大整數,對數字進行下捨入
Math.round() 傳回數字最接近的整數,四捨五入