原生JS实现随机生成指定位数的验证码并校验
来源:互联网 发布:出售淘宝买家信息 编辑:程序博客网 时间:2024/05/16 02:52
功能:1.生成随机指定位数的验证码,生成的验证码字符可以是字母或数字
2. 忽略字母大小写比较验证码是否输入正确
一、求字母和数字的Unicode 编码
用str.charCodeAt();来求解:
0~9: 48-57
A-Z: 65-90
a-z: 97-122
二、利用Math.random()求随机数
str.formCharCode()从字符编码创建一个字符串
校验时统一转化为大写或者小写,这样子验证时可以忽略验证码的大小写
三、效果图
四、代码实现
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<input type="text" placeholder="输入验证码" id="input">
<input type="text" id="gen" placeholder="生成的验证码"><button id="btnGen">生成验证码</button>
<button id="btnValidate">验证</button>
<script>
function genCode (len) {
if (typeof len === "undefined") // 默认验证码长度为4
len = 4;
// 生成 48 ~ 122 之间的随机整数
// 0 ~ 74
var validateCode = "";
while (validateCode.length < len) {
var rand = Math.floor(Math.random() * 75) + 48;
// console.log(rand);
// 判断是否在数字、大/小写字符范围内
if (rand >= 48 && rand <= 57
|| rand >= 65 && rand <= 90
|| rand >= 97 && rand <= 122) {
validateCode += String.fromCharCode(rand);
}
}
return validateCode;
}
document.getElementById("btnGen").onclick = function(){
document.getElementById("gen").value = genCode(6);
}
document.getElementById("btnValidate").onclick = function(){
var _input = document.getElementById("input").value,
_gen = document.getElementById("gen").value;
// 忽略大小写状态比较
// 都统一转换为大写后再比较
if (_input.toUpperCase() === _gen.toUpperCase()) {
alert("验证码正确");
} else {
alert("验证码输入有误");
}
}
</script>
</body>
</html>
- 原生JS实现随机生成指定位数的验证码并校验
- 随机生成指定位数的验证码
- java生成指定位数的随机验证码
- 原生JS实现获取随机验证码
- js随机生成四位数,可用于短信验证码
- 工具类-随机产生指定位数的验证码
- c# 生成指定位数的随机字符串
- php生成指定位数的随机字符串
- android 随机生成指定位数的字母
- 生成指定位数的随机密码
- java如何随机生成6位数的验证码
- 随机生成指定长度的字符串+校验
- 随机生成六位数验证码
- Java 随机生成六位数验证码
- web前端js中随机生成指定位数的字母数字、组合字符串可选择字母大小写
- js生成指定位数的校验码
- JS生成随机验证码
- 【maven+junit】 java生成指定为位数的随机密码
- Tomcat启动、重启、暂停操作(window)
- 10月英语总结 —态度
- poj 2112 Optimal Milking(最大流,二分,floyd)
- 运行跟踪算法CREST出现using vl_nnconv
- C++——模板类vector和array
- 原生JS实现随机生成指定位数的验证码并校验
- 小白谈数据脱敏
- [HAL库学习之路]5.IWDG-独立看门狗
- IntelliJ Idea 常用快捷键大全
- ios 数据持久化之 归档
- angular2在双向数据绑定时[(ngModel)]无法使用的问题
- js发送SOAP请求
- js简单实现遮罩层
- 在 Ubuntu 系统安装搜狗输入法