javascript原生 实现数字字母混合验证码
2024-09-30 15:58:31
实现4位数 数字字母混合验证码(数字+大写字母+小写字母)
ASCII 字符集中得到3个范围:
1. 48-57 表示数字0-9
2. 65-90 表示大写字母
3. 97-122 表示小写字母
范围随机数:
parseInt(Math.random()*); //此时Math.random意为“大于等于0,小于4”,取整后为0~3
// 如何把最小值变成1呢? +1就变成了1
parseInt(Math.random()*)+; // +1后范围变成了“大于等于1,小于5”,parseInt取整后范围是1~4 // 如果想获取50-100的范围随机数 min ~ max
min + parseInt(Math.random()*(max - min + )); //+1后Math.random取值为 大于等于0,小于51
// min + 0 ~ 50 = 50~100
具体实现如下:
<script>
// 获取随机数的范围
function getRandomInt (min , max){
return min + parseInt(Math.random() * (max - min + 1))
}
// 获取验证码
function getStringValidate(){
var res = "";
var min , max;
// 循坏代码进行拼接
for(var i = 0; i < 4; i++){
// 选择范围 1,2,3
// 决定 范围的开头和结尾
switch(getRandomInt(1 , 3)){
// 1是数字
case 1 :
min = 48; max = 57;
break;
// 2是大写字母
case 2 :
min = 65; max = 90;
break;
// 3是小写字母
case 3 :
min = 97; max = 122;
break;
}
// console.log(min , max);//随机范围
var randomInt = getRandomInt(min , max);
// var randomString = String.fromCharCode(randomInt);
// console.log(randomString);//一个随机字符 经过上面的4次循环,生成4个随机数
// 拼接起来
res += String.fromCharCode(randomInt);
}
// console.log(randomString);//经过上面的4次循环,生成4个随机数
console.log(res);
return res;
}
getStringValidate();
</script>
最新文章
- 从一个控制器调到另一个控制器的[UIViewController _loadViewFromNibNamed:bundle:]崩溃
- 【Phylab2.0】Alpha版本发布说明
- hdu 1455 Sticks
- POJ-2752 Seek the Name, Seek the Fame(KMP,前缀与后缀相等)
- 无法解析指定的连接标识符 oracle错误12154
- 广州Uber优步司机奖励政策(1月18日~1月24日)
- 使用MongoDB的开源项目(转)
- POJ 1745 Divisibility (线性dp)
- JVM学习(1)——通过实例总结Java虚拟机的运行机制(转)
- ArcEngine下一个TIN生成的轮廓
- mybatis的逆向工程和中文注解
- ORM版学员管理系统 2
- springboot(十四):springboot整合mybatis
- CodeForces 430A Points and Segments (easy)(构造)题解
- PHP引用赋值
- 如何配置Smarty模板
- BeanUtils.populate的方法的作用
- fdisk 分区格式化为ext4格式分区
- spring mvc 多数据源切换,不支持事务控制[一]
- python虚拟机运行原理