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>