一 随机数测试
- 在JavaScript中,我们可以使用random( )方法来生成0~1的一个随机数。random,就是“随机”的意思。需要注意的是,这里的0~1包含0但不包含1,也就是[0, 1)。
- 在JavaScript中,我们可以使用floor( )方法对一个数进行向下取整。所谓“向下取整”,指的是返回小于或等于指定数的“最近的那个整数”。
- 在JavaScript中,我们可以使用ceil( )方法对一个数进行向上取整。向上取整指的是返回大于或等于指定数的“最近的那个整数”。
下面的例子中生成了两组随机数
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
var arr = [];
for(var i = 0;i < 10;i++){
arr[i] = Math.floor((Math.random()*10));
}
document.write("生成[0,9]的随机数:" + arr + "<br>")
for(var i = 0;i < 10;i++){
arr[i] = Math.floor((Math.random()*10) + 10);
}
document.write("生成[10,19]的随机数:" + arr + "<br>")
</script>
</body>
</html>
显示效果如下:
二 生成随机验证码实验
本实例中计算了1,a,A的ASCII码,并实现了ASCII码向字符的转换,最后也最了数组转字符串。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
document.write("1的ASCII码是" + '1'.charCodeAt(0) + "<br>")
document.write("a的ASCII码是" + 'a'.charCodeAt(0) + "<br>")
document.write("A的ASCII码是" + 'A'.charCodeAt(0) + "<br>")
var arr = [];
for(var i = 0;i < 10;i++){
arr[i] = String(i)
}
var len = arr.length
document.write("len = " + len + "<br>")
for(var i = 0;i < 26;i++){
arr[i + len] = String.fromCharCode(i+65)
}
document.write(arr + "<br>")
len = arr.length
document.write("len = " + len + "<br>")
for(var i = 0;i < 26;i++){
arr[i + len] = String.fromCharCode(i+97)
}
document.write(arr + "<br>")
//数组转字符串
var new_str = arr.join("")
document.write(new_str + "<br>" + "长度:" + new_str.length + "<br>")
var random_num;
var mycode = []
for(var j = 0;j < 4;j++){
random_num = Math.floor(Math.random() * new_str.length)
mycode[j] = new_str.charAt(random_num);
}
document.write("<hr>生成的随机验证码:" + mycode.join("") + "<br>")
</script>
</body>
</html>
输出结果:
1的ASCII码是49
a的ASCII码是97
A的ASCII码是65
len = 10
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
len = 36
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
0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
长度:62
生成的随机验证码:bMow