使用js生成随机4位验证码的代码是什么?
Admin 2021-05-22 群英技术资讯 1536 次浏览
我们在做网站开发的时候,经常会有JavaScript实现随机验证的需求,那么究竟使用JS如何实现4位随机验证码的呢?感兴趣的朋友就跟随小编一起来学习吧。
代码:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>4位随机验证码的生成</title>
<style>
label{
color:aqua;
float:left;
font-size: 20px;
line-height:2em;
}
#tex{
display:inline-block;
width:50px;
height: 25px;
float:left;
text-align: center;
font-size:15px;
margin-top:10px;
}
#showyz{
border:3px solid green;
color:blue;
width:90px;
height:40px;
text-align:center;
float:left;
margin-left:15px;
line-height: 2.5em;
}
#hyz{
background-color:burlywood;
border:1px solid burlywood;
width:50px;
height:20px;
float: left;
margin-left:20px;
margin-top: 10px;
margin-right:15px;
}
#btn{
}
</style>
</head>
<body>
<label for="tex">请输入验证码:</label><input type="text" id="tex" maxlength="4" autofocus>
<div id="showyz"></div>
<div id="hyz">换一张</div><br>
<input type="button" id="btn" value="确认">
</body>
<script>
//定义个空数组保存62个编码
var codes=[];
//将数字对应的编码保存到codes数组中,数字编码范围【48-57】
for(var i=48;i<=57;i++){
codes.push(i);
}
//将大写字母对应的编码保存到codes数组中,对应编码范围【65-90】
for(var i=65;i<=90;i++){
codes.push(i);
}
//将小写字母对应的编码保存到codes数组中,对应编码范围【97-122】
for(var i=97;i<=122;i++){
codes.push(i);
}
//定义个方法生成62位随机数作为数组角标返回随机的编码,再将其编码转化为对应数字或者字母
function suiji(){
var arr=[];//定义个数组保存4位随机数
for(var i=0;i<4;i++){
var index=Math.floor(Math.random()*(61-0+1)+0);//生成个随机数
var char=String.fromCharCode(codes[index]);//解码
arr.push(char); //存入到数组arr中
}
return arr.join("");//将数组转为字符串,以空格分隔,并返回
}
var yzm=suiji();//调用方法,将放回的验证码返回到yzm中
//获取上述元素
var tex=document.getElementById("tex");
var showyz=document.getElementById("showyz");
var hyz=document.getElementById("hyz");
var btn=document.getElementById("btn");
//将验证码写入到id为showyz的div中
showyz.innerHTML=yzm;
//实现换一张验证码功能
hyz.οnclick=function(){
yzm=suiji();
showyz.innerHTML=yzm;
}
//将自己输入的验证码与获取的随机验证码验证
btn.οnclick=function(){
var textvalue=tex.value;//获取输入的值
if(textvalue.toLowerCase()==yzm.toLowerCase()){//将值都转为小写比较
alert("验证码输入正确!");
yzm=suiji();
showyz.innerHTML=yzm;
tex.value="";
}
else{
alert("验证码输入错误,请重新输入!");
yzm=suiji();
showyz.innerHTML=yzm;
tex.value="";
}
}
</script>
</html>

关于js生成随机验证码的代码大家应该都有一定的了解,除了生成随机数,一些验证码还有横线,模糊,动态的等验证码干扰,想要这些效果,可以自己扩展,更多js生成随机验证码的内容,可以关注其他文章。
文本转载自脚本之家
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
目录前言关于边框关于控制点本章小结前言在上一章中我们已经搞定了下层画布,也就是能够对物体进行绘制了,现在就可以开始搞搞上层交互了。不过在和画布产生交互之前,我们还要做一件事情,就是让物体支持边框和控制点的绘制,亦即物体被选中时的状态,就像下面这样:这样一来如果要对物体进行一些操作,那就变成了对上图中的红色和蓝色边框进行
目录Axios代理配置及响应拦截处理代理配置响应内容拦截处理Axios的proxy代理配置解析Axios代理配置及响应拦截处理Axios是vue官方推荐的异步处理方案,所以在几个vue的项目里,都用到了,所以这里写一下Axios的代理配置和响应拦截处理代理配置代理主要是为了解决跨域问题,但是现在常规解决跨域的方式,就是
这篇文章主要介绍了详解React中共享组件逻辑的三种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
目录背景效果实现HTML 页面结构???? feTurbulence 和 feDisplacementMapCSS 样式???? mask-imageJavaScript 方法① 绘制热点图② 生成动画③ 清除画布④ 切换图片总结声明:本文涉及图文和模型素材仅用于个人学习、研究和欣赏,请勿二次修改、非法传播、转载、出版、商用、及进
这篇文章主要为大家详细介绍了vue更多筛选项小组件的使用方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008