怎样用js实现生成验证码并校验的功能?
Admin 2021-08-27 群英技术资讯 2087 次浏览
这篇文章给大家分享的是怎样用js实现生成验证码并校验的内容。小编觉得挺实用的,在很多注册登录页面都能使用到,因此分享给大家做个参考,感兴趣的朋友就继续往下看吧。
JavaScript之随机码的生成与校验,供大家参考,具体内容如下
由于获取事件源有两种写法,所以在此处都附上:
这个是直接用var去定义的
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>随机验证码校验</title>
<style type="text/css">
#code{
width: 100px;
height: 100px;
background-color: #ddd;
padding: 10px;
line-height: 100px;
text-align: center;
font-size: 20px;
color: red;
/*font-weight: bold;*/
}
</style>
</head>
<body>
<div id="code"></div>
<input type="text" name="" id="newCode">
<input type="button" name="" id="validate" value="验证">
<script type="text/javascript">
window.onload = function (){
var code;
// 1.获取对应的标签
var codeDiv = document.getElementById("code");
var newCodeInput = document.getElementById("newCode");
var validate = document.getElementById("validate");
// 加载页面获取对应验证码
creatCode()
// 1.获取min到max之间的整数 1~100
function random(max,min){
return Math.floor(Math.random()*(max-min)+min);
}
function creatCode(){
code = "";
// 设置长度
var codeLenth = 4;
var randomCode =[0,1,2,3,4,5,6,7,8,9,"A","B","C","D","E","F","G","H","I","J","K","L","M","N", "O","P","Q","R","S","T","U","V","W","X","Y","Z"];
for(var i=0;i<codeLenth;i++){
// 设置随机范围36范围
var index = random(0,36);
code += randomCode[index];
}
codeDiv.innerHTML = code;
}
// 验证按钮校验
validate.onclick = function (){
// 获取输入用户的验证码
var newCode = newCodeInput.value.toUpperCase();
if (newCode === code){
// 验证成功 跳转对应的网址
window.location.href = "http://www.baidu.com";
}else {
// 验证失败
alert("验证失败,请重新输入")
// 输入框置空
newCodeInput.value = "";
// 重新获取验证码
creatCode();
}
}
}
</script>
</body>
</html>
这个是用function定义变量的:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>随机验证码校验</title>
<style type="text/css">
#code{
width: 100px;
height: 100px;
background-color: #ddd;
padding: 10px;
line-height: 100px;
text-align: center;
font-size: 20px;
color: red;
/*font-weight: bold;*/
}
</style>
</head>
<body>
<div id="code"></div>
<input type="text" name="" id="newCode">
<input type="button" name="" id="validate" value="验证">
<script type="text/javascript">
window.onload = function (){
var code;
// 1.获取对应的标签(获取事件源)
function $(id){
return typeof id === "string"?document.getElementById(id):null;
}
// 加载页面获取对应验证码
creatCode()
// 1.获取min到max之间的整数 1~100
function random(max,min){
return Math.floor(Math.random()*(max-min)+min);
}
function creatCode(){
code = "";
// 设置长度
var codeLenth = 4;
var randomCode =[0,1,2,3,4,5,6,7,8,9,"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O", "P","Q","R","S","T","U","V","W","X","Y","Z"];
for(var i=0;i<codeLenth;i++){
// 设置随机范围36范围
var index = random(0,36);
code += randomCode[index];
}
$("code").innerHTML = code;
}
// 验证按钮校验
$("validate").onclick = function (){
// 获取输入用户的验证码
var newCode = $("newCode").value.toUpperCase();
if (newCode === code){
// 验证成功 跳转对应的网址
window.location.href = "http://www.baidu.com";
}else {
// 验证失败
alert("验证失败,请重新输入")
// 输入框置空
$("newCode").value = "";
// 重新获取验证码
creatCode();
}
}
}
</script>
</body>
</html>
两种方式所实现效果一样。附上效果图:

当输入错误的数据进行验证时,会提示:

当输入正确的数据进行验证时,点击验证,如果验证成功,会跳转指定路径。
以上就是关于js实现生成验证码并校验功能的代码,有需要的朋友可以参考学习,希望能对大家学习JavaScript有帮助,想要了解更多js生成验证码的相关内容,大家可以关注其他文章。
文本转载自脚本之家
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章我们来了解jQuery去除input值空格的方法,这里使用到两个方法,val()方法和trim()方法,下文有具体的实现代码,对大家学习这两种方法的使用及去除input值空格都有帮助,有需要的朋友可以参考,接下来就跟随小编来一起学习一下吧!
JS实现表单验证案例 本文实例为大家分享了JS实现表单验证案例的具体代码,供大家参考,具体内容如下 1.当输入框失去焦点时,验证输入内容是否符合要求 (1)获取表单输入框(2)绑定 onblur 事件(3)获取输入内容(4)判断是否符合规则(5)如果不符合规则,则显示错误提示信息 2.当点击注册按钮是,判断所有输入框的内容是否符合要求,如果不符合则阻止表单提交 (1)获取表单对象(2)微表单对象绑定 onsubmit(3)判断所有输入框是否都符合要求,如果符合,则返回true,如果有一项不符合,则返回false &l ...
eclipse安装node.js的方法:1、在EclipseIDE界面上点击“help–>Eclipse Marketplace”;2、在Find输入“nodeclips”查询;3、选择“nodeclipse1.0.2”点击Install。
这篇文章主要讲解前端的状态管理,状态管理李娜就想到:Vuex、Redux、Flux、Mobx等等方案,不论哪种方案只要内容一多起来似乎都是令人头疼的问题,今天来聊一聊前端的状态管理,感兴趣的小伙伴可以参考参考下面文字具体内容
Vue自定义日历小控件使用方法详解 本文实例为大家分享了Vue自定义日历小控件的具体代码,供大家参考,具体内容如下 废话少说,先上效果图: 可以在效果图中看到,选择不同的月份的时候当月天数与星期几都是一一对应,非当月天数则是灰色显示,一目了然. 并且此日历控件支持自动确定当前时间,每次打开默认显示的就是最新的月份,用来做签到打卡的功能比较合适. 由于使用的是原生div进行制作,自定义功能非常强,可以自由的更换样式.背景.颜色.大小等等. 在与数据库的时候可以从数据库获得时间信息并填充到控件中,图中的色块就可以看出. 该控件使用了V
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
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核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008