前置知识:
常见的ASCII码的大小规则:0~9<A~Z<a~z
- 数字比字母要小。如“7”<“F”;
- 数字0比数字9要小,并按0到9顺序递增。如“3"<"8”;
- 字母A比字母Z要小,并按A到Z顺序递增。如“A"<“Z”;
- 同个字母的大写字母比小写字母要小32。如“A”<"a”。
几个常见字母的ASCII码大小:“A”为65;“a"为97;“0”为48
需求:
实现一个生成随机4位验证码的函数,包含数字、字母大小写
代码:
<script>
// '0' - '9' : 48~57
// 'A' - 'Z' : 65~90
// 'a' - 'z' : 97~122
// 编写一个随机函数,该函数能生成指定范围内的数字
const getRandom = (min,max)=>{
return Math.floor(Math.random()*(max-min+1)) + min
}
const getVerifyCode = ()=>{
let str = ''
// 3.循环四次
for(let i=0;i<4;i++){
// 1.得到相应字符的ASCII码值
const ascii = getRandom(48,122)
if((ascii>57&&ascii<65)||(ascii>90&&ascii<97)){
i--
continue
}
// 2.通过ASCII码值得到相应的字符串:String.fromCharCode(ASCII值)
const c = String.fromCharCode(ascii)
// 4.拼接在一起
str += c
}
// 5.返回结果
return str
}
console.log('验证码为:', getVerifyCode())
</script>