1 示例:随机出四位验证码,数字或字母,或组合,大小写都可以,但四个不能重复
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>验证码1</title>
</head>
<body>
<p>需求:随机出四位验证码,数字或字母,或组合,大小写都可以,但四个不能重复</p>
<script>
var code=[]; //待选字符
var newCode=[]; //四位验证码
//存入0-9数字
for(var i=0; i<=9; i++){
code[i]=i;
}
//存入小写26个字母
for(var i=0; i<26; i++){
code.push(String.fromCharCode(97+i));
}
//存入大写26个字母
for(var i=0; i<26; i++){
code.push(String.fromCharCode(65+i));
}
for(var i=0; i<4; i++){
var n=parseInt(Math.random()*code.length); //随机产生一个数
var same=false; //定义一个用来判断是否存在的变量
//判断随机取出的是否已经存在了
for(var j=0; j<newCode.length; j++){
if(newCode[j]==code[n]){
same=true;
break;
}
}
if(!same){
newCode.push(code[n]); //不存在就存入
} else{
i--; //存在,就回退一次
}
}
alert('验证码为:'+newCode.join('')); //数组拼接成字符串
</script>
</body>
</html>
关键:
定义一个用来判断是否存在的变量,如果为false,才存入新数组;如果为true,刚回退一次循环。
判断一个元素是否在数组里,不能在循环里面写,要在外面写。因为没有结束,判断的不是整体。
2 还是取不重复,用indexOf的方法:
示例:随机出四位验证码,数字或字母,或组合,大小写都可以,但四个不能重复
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>验证码2</title>
</head>
<body>
<p>需求:随机出四位验证码,数字或字母,或组合,大小写都可以,但四个不能重复</p>
<script>
var code=[]; //待选字符
var newCode=[]; //四位验证码
//存入0-9数字
for(var i=0; i<=9; i++){
code[i]=i;
}
//存入小写26个字母
for(var i=0; i<26; i++){
code.push(String.fromCharCode(97+i)); //使用ASCII码
}
//存入大写26个字母
for(var i=0; i<26; i++){
code.push(String.fromCharCode(65+i));
}
for(var i=0; i<4; i++){
var n=parseInt(Math.random()*code.length); //随机产生一个数
//用indexOf判断,如果是-1说明不存在
if(newCode.indexOf(code[n])==-1){
newCode.push(code[n]);
} else{
i--;
}
}
alert('验证码为:'+newCode.join('')); //数组拼接成字符串
</script>
</body>
</html>
3 求最大值和最小值
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>求最大最小值</title>
</head>
<body>
<script>
var arr=[]; //定义一个数组
var num=5; //数组的长度
for(var i=0; i<num; i++){
arr[i]= +prompt('请输入第'+(i+1)+'个数,共有'+num+'个'); //转化成数值,不然后面没法求和
}
var max=arr[0], //定义最大值
min=arr[0]; //定义最小值
var sum=0; //求和
for(var i=0; i<arr.length; i++){
if(max<arr[i]){
max=arr[i];
}
if(min>arr[i]){
min=arr[i];
}
sum=sum+arr[i];
}
alert('最大值为:'+max);
alert('最小值为:'+min);
alert('和为:'+sum);
</script>
</body>
</html>