Javascript代码实现验证码的校验

2023-01-13 11:26:26

之前有分享过如何利用H5+Javascript生成验证码(点击看我之前的博客)。今天主要是想分享如何利用随机数来生成一组验证码,并通过js代码来验证输入的验证码是否匹配。


先看效果图:

实现的总体效果为:点击“验证按钮”或者是点击验证码本身,验证码会重新生成。

在输入框中输入任意与验证码不符的字符,则会提示“验证码输入错误”。

输入框中输入的字符(注意:这里是可以不区分大小写的)与验证码一致时,提示“输入正确”。


看看代码:

html代码(由于css样式较简单就没有专门提到css文件中去了):

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<style type="text/css">  
            #code  
            {  
                font-family:Arial;  
                font-style:italic;  
                font-weight:bold;  
                border:0;  
                letter-spacing:2px;  
                color:blue;  
            }  
        </style>  
       <script type="text/javascript" src="js/jquery-2.1.1.min.js" ></script><!--随便引用的jq-->
       <script type="text/javascript" src="js/checkCode.js" ></script><!--自己写的验证方法-->
	</head>
	<body>
		<div>  
            <input type = "text" id="input1"/>  
            <input type = "button" id="code" />  
            <input type = "button" id="yz" value = "验证" />  
        </div>  
	</body>
</html>

checkCode.js代码:

var code ; //在全局定义验证码   
//产生验证码  
$(function(){
	window.onload = createCode("#code");
	$("#code").click(function(){
		createCode("#code");
	});
	$("#yz").click(function(){
		validate("#input1","#code");
	});
});
//生成验证码
function createCode(code1){
		     code = "";   
		     var codeLength = 4;//验证码的长度  
		     var checkCode =$(code1); 
		     var random = new Array(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 < codeLength; i++) {//循环操作  
		        var index = Math.floor(Math.random()*36);//取得随机数的索引(0~35)  
		        code += random[index];//根据索引取得随机数加到code上  
		    }  
		checkCode.val(code);//把code值赋给验证码    
	}  
//验证
function validate(txtinput,code1){  
	    var inputCode = $(txtinput).val().toUpperCase(); //取得输入的验证码并转化为大写  
	    if(inputCode.length <= 0) { //若输入的验证码长度为0  
	        alert("请输入验证码!"); //则弹出请输入验证码  
	    }         
	    else if(inputCode != code ) { //若输入的验证码与产生的验证码不一致时  
	        alert("验证码输入错误!"); //则弹出验证码输入错误  
	        createCode(code1);//刷新验证码  
	        $(txtinput).val("");//清空文本框  
	    }         
	    else { //输入正确时  
	        alert("输入正确"); //弹出^-^  
	    }             
	}  

 

  • 作者:Icon_酱
  • 原文链接:https://blog.csdn.net/yytIcon/article/details/81477638
    更新时间:2023-01-13 11:26:26