首頁  >  文章  >  web前端  >  JS做出隨機數方法總結

JS做出隨機數方法總結

php中世界最好的语言
php中世界最好的语言原創
2018-04-27 13:49:593201瀏覽

這次帶給大家JS做出隨機數方法總結,JS做出隨機數字方法的注意事項有哪些,下面就是實戰案例,一起來看一下。

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(n) {
   var res = "";
   for(var i = 0; i < n ; i ++) {
     var id = Math.ceil(Math.random()*35);
     res += chars[id];
   }
   return res;
}

1.Math.random(); 結果為0-1間的一個隨機數(包括0,不包括1)

2.Math.floor(num); 參數num為一個數值,函數結果為num的整數部分。

3.Math.round(num); 參數num為一個數值,函數結果為num四捨五入後的整數。

Math:數學對象,提供資料的數學計算。

Math.random(); 傳回0和1間(包括0,不包括1)的一個隨機數。

Math.ceil(n); 傳回大於等於n的最小整數。

用Math.ceil(Math.random()*10);時,主要取得1到10的隨機整數,取0的幾率極小。

Math.round(n); 傳回n四捨五入後整數的值。

用Math.round(Math.random());可均衡取得0到1的隨機整數。

用Math.round(Math.random()*10);時,可基本均衡取得0到10的隨機整數,其中取得最小值0和最大值10的幾率少一半。

Math.floor(n); 傳回小於等於n的最大整數。

用Math.floor(Math.random()*10);時,可均衡取得0到9的隨機整數。
js產生隨機數之random函數隨機範例

JavaScript Math.random()內建函數

random函数返回值 
返回0和1之间的伪随机数,可能为0,但总是小于1,[0,1) 
random函数示例 
//返回随机数 
document.write(Math.random()); 
//返回10-20的随机数 
document.write(Math.random()*(20-10)+10); 
//返回指定范围的随机数(m-n之间)的公式 
document.write(Math.random()*(n-m)+m);

基於時間,也可以產生隨機數字

#程式碼如下:

var now=new Date(); 
var number = now.getSeconds(); //这将产生一个基于目前时间的0到59的整数。 
var now=new Date(); 
var number = now.getSeconds()%43; //这将产生一个基于目前时间的0到42的整数。

Js 隨機數產生6位元數字

程式碼如下:

<script type="text/javascript"> 
function MathRand() 
{ 
var Num=""; 
for(var i=0;i<6;i++) 
{ 
Num+=Math.floor(Math.random()*10); 
} 
document.getElementById("Lb_Random").innerText=Num; 
document.getElementById("Lb_Random").innerHTML=Num; 
} 
</script>

JS產生隨機字串的多種方法

程式碼如下:

<script language="javascript"> 
function randomString(len) {
  len = len || 32;
  var $chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678';  /****默认去掉了容易混淆的字符oOLl,9gq,Vv,Uu,I1****/
  var maxPos = $chars.length;
  var pwd = '';
  for (i = 0; i < len; i++) {
    pwd += $chars.charAt(Math.floor(Math.random() * maxPos));
  }
  return pwd;
}
document.write(randomString(32));
</script>

使用方法,就不用說了吧,呼叫randomString方法,參數len為傳回的隨機字串長度。

傳參就長度,如果不帶參數預設輸出32個字元。

JS產生隨機數的幾個用法!

程式碼如下:

<script>  
function GetRandomNum(Min,Max)
{  
var Range = Max - Min;  
var Rand = Math.random();  
return(Min + Math.round(Rand * Range));  
}  
var num = GetRandomNum(1,10);  
alert(num);  
</script> 
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(n) {
   var res = "";
   for(var i = 0; i < n ; i ++) {
     var id = Math.ceil(Math.random()*35);
     res += chars[id];
   }
   return res;
}

1.Math.random(); 結果為0-1間的一個隨機數(包括0,不包含1)
2.Math.floor(num); 參數num為一個數值,函數結果為num的整數部分。
3.Math.round(num); 參數num為一個數值,函數結果為num四捨五入後的整數。

Math:數學對象,提供資料的數學計算。
Math.random(); 傳回0和1間(包括0,不包括1)的一個隨機數。

Math.ceil(n); 傳回大於等於n的最小整數。
用Math.ceil(Math.random()*10);時,主要取得1到10的隨機整數,取0的幾率極小。

Math.round(n); 傳回n四捨五入後整數的值。
用Math.round(Math.random());可均衡取得0到1的隨機整數。
用Math.round(Math.random()*10);時,可基本均衡取得0到10的隨機整數,其中取得最小值0和最大值10的幾率少一半。

Math.floor(n); 傳回小於等於n的最大整數。
用Math.floor(Math.random()*10);時,可均衡取得0到9的隨機整數。

js產生隨機字串時間戳獲取

預設JS產生的是13位元,傳給php需要/1000

程式碼如下:

timestamp = timestamp/1000;
<script type="text/javascript">
function randomChar(l) {
var x="0123456789qwertyuioplkjhgfdsazxcvbnm";
var tmp="";
var timestamp = new Date().getTime();
for(var i=0;i< l;i++) {
tmp += x.charAt(Math.ceil(Math.random()*100000000)%x.length);
}
return timestamp+tmp;

相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

推薦閱讀:

Vue下拉至頁面底部立刻載入資料

Vue.js中router如何傳遞參數

以上是JS做出隨機數方法總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn