La interfaz de inicio de sesión contiene la verificación del código de verificación

Inserte la descripción de la imagen aquíInserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Necesito presentar el paquete jq

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>登录界面</title>
		<!-- 需要引用JQuery -->
		<script type="text/javascript" src="./js/jquery-1.11.0.js"></script>
		<style>
			#bg{
    
    
				margin:0px; 
				background: 
				url(img/timg.jpg) no-repeat; 
				background-size:100% 100%; 
				background-attachment:fixed;
			}
			#f1{
    
    
				font-size: 100px;
				line-height: 150px;
				text-shadow:8px 8px 5px #62a8ea;
				font-family:STXingkai
			}
			#tb{
    
    
				background-color: aliceblue;
				width: 25%;
				height: 300px;
				margin: 0 auto;
			}
			h2{
    
    
				text-align: center;
				 color: #62a8ea;
				letter-spacing: 10px;
			}
			form{
    
    
				border: 3px solid aliceblue; 
				width: 80%;
				margin: 0 auto;
			}
			.t{
    
    
				border: 1px solid white;
				/* display: inline-block; */
				box-sizing: border-box;
				width: 100%;
				height: 35px;
				padding-left: 10px;
				font-size: 14px;
				outline: none;
				color:  #76838f;
			}
			#login{
    
    
				background-color: #62a8ea;
				color: #ffffff;
				font-size: 16px;
				width: 100%;
				height: 40px;
				border: 1px solid #62a8ea;
				border-radius: 4px;
			}
		</style>
	</head>
	<body id="bg">
		<div>
			<div align="center">
				<h2>
					<font color="aliceblue" id="f1"><strong>&nbsp;&nbsp;&nbsp;</strong></font>
				</h2>
			</div>
			<div>&nbst</div>
			<div>
				<table id="tb">
					<tr>
						<td>
							<h2>用户登陆</h2>
							<hr />
						</td>
					</tr>
					<tr>
						<td>
							<form action="" method="get" id="userinfo">
								<strong>用户名</strong>:<br />
								<input type="text" name="username" class="t" placeholder="请输入用户名" /><br />
								<strong>密码</strong>:<br />
								<input type="password" name="pwd" class="t" placeholder="请输入密码" /><br />
								验证码:<br />
								<div style="float: left;width: 50%;"><input type="text" id="code_input" class="t"   value="" placeholder="请输入验证码"/></div>
								<div id="v_container" style="width: 50%;height: 35px;float: left;"></div>
								<br /><br />
								<script>
								!(function(window, document) {
    
    
								    function GVerify(options) {
    
     //创建一个图形验证码对象,接收options对象为参数
								        this.options = {
    
     //默认options参数值
								            id: "", //容器Id
								            canvasId: "verifyCanvas", //canvas的ID
								            width: "100", //默认canvas宽度
								            height: "30", //默认canvas高度
								            type: "blend", //图形验证码默认类型blend:数字字母混合类型、number:纯数字、letter:纯字母
								            code: ""
								        }
								
								        if(Object.prototype.toString.call(options) == "[object Object]"){
    
    //判断传入参数类型
								            for(var i in options) {
    
     //根据传入的参数,修改默认参数值
								                this.options[i] = options[i];
								            }
								        }else{
    
    
								            this.options.id = options;
								        }
								
								        this.options.numArr = "0,1,2,3,4,5,6,7,8,9".split(",");
								        this.options.letterArr = getAllLetter();
								
								        this._init();
								        this.refresh();
								    }
								
								    GVerify.prototype = {
    
    
								        /**版本号**/
								        version: '1.0.0',
								
								        /**初始化方法**/
								        _init: function() {
    
    
								            var con = document.getElementById(this.options.id);
								            var canvas = document.createElement("canvas");
								            this.options.width = con.offsetWidth > 0 ? con.offsetWidth : "100";
								            this.options.height = con.offsetHeight > 0 ? con.offsetHeight : "30";
								            canvas.id = this.options.canvasId;
								            canvas.width = this.options.width;
								            canvas.height = this.options.height;
								            canvas.style.cursor = "pointer";
								            canvas.innerHTML = "您的浏览器版本不支持canvas";
								            con.appendChild(canvas);
								            var parent = this;
								            canvas.onclick = function(){
    
    
								                parent.refresh();
								            }
								        },
								
								        /**生成验证码**/
								        refresh: function() {
    
    
								            this.options.code = "";
								            var canvas = document.getElementById(this.options.canvasId);
								            if(canvas.getContext) {
    
    
								                var ctx = canvas.getContext('2d');
								            }else{
    
    
								                return;
								            }
								
								            ctx.textBaseline = "middle";
								
								            ctx.fillStyle = randomColor(180, 240);
								            ctx.fillRect(0, 0, this.options.width, this.options.height);
								
								            if(this.options.type == "blend") {
    
     //判断验证码类型
								                var txtArr = this.options.numArr.concat(this.options.letterArr);
								            } else if(this.options.type == "number") {
    
    
								                var txtArr = this.options.numArr;
								            } else {
    
    
								                var txtArr = this.options.letterArr;
								            }
								
								            for(var i = 1; i <= 4; i++) {
    
    
								                var txt = txtArr[randomNum(0, txtArr.length)];
								                this.options.code += txt;
								                ctx.font = randomNum(this.options.height/2, this.options.height) + 'px SimHei'; //随机生成字体大小
								                ctx.fillStyle = randomColor(50, 160); //随机生成字体颜色        
								                ctx.shadowOffsetX = randomNum(-3, 3);
								                ctx.shadowOffsetY = randomNum(-3, 3);
								                ctx.shadowBlur = randomNum(-3, 3);
								                ctx.shadowColor = "rgba(0, 0, 0, 0.3)";
								                var x = this.options.width / 5 * i;
								                var y = this.options.height / 2;
								                var deg = randomNum(-30, 30);
								                /**设置旋转角度和坐标原点**/
								                ctx.translate(x, y);
								                ctx.rotate(deg * Math.PI / 180);
								                ctx.fillText(txt, 0, 0);
								                /**恢复旋转角度和坐标原点**/
								                ctx.rotate(-deg * Math.PI / 180);
								                ctx.translate(-x, -y);
								            }
								            /*绘制干扰线*/
								            for(var i = 0; i < 4; i++) {
    
    
								                ctx.strokeStyle = randomColor(40, 180);
								                ctx.beginPath();
								                ctx.moveTo(randomNum(0, this.options.width), randomNum(0, this.options.height));
								                ctx.lineTo(randomNum(0, this.options.width), randomNum(0, this.options.height));
								                ctx.stroke();
								            }
								            /**绘制干扰点**/
								            for(var i = 0; i < this.options.width/4; i++) {
    
    
								                ctx.fillStyle = randomColor(0, 255);
								                ctx.beginPath();
								                ctx.arc(randomNum(0, this.options.width), randomNum(0, this.options.height), 1, 0, 2 * Math.PI);
								                ctx.fill();
								            }
								        },
								
								        /**验证验证码**/
								        validate: function(code){
    
    
								            var code = code.toLowerCase();
								            var v_code = this.options.code.toLowerCase();
								            console.log(v_code);
								            if(code == v_code){
    
    
								                return true;
								            }else{
    
    
								                this.refresh();
								                return false;
								            }
								        }
								    }
								    /**生成字母数组**/
								    function getAllLetter() {
    
    
								        var letterStr = "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,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";
								        return letterStr.split(",");
								    }
								    /**生成一个随机数**/
								    function randomNum(min, max) {
    
    
								        return Math.floor(Math.random() * (max - min) + min);
								    }
								    /**生成一个随机色**/
								    function randomColor(min, max) {
    
    
								        var r = randomNum(min, max);
								        var g = randomNum(min, max);
								        var b = randomNum(min, max);
								        return "rgb(" + r + "," + g + "," + b + ")";
								    }
								    window.GVerify = GVerify;
								})(window, document);
								</script>
								<script>
								    var verifyCode = new GVerify("v_container");
								
								    // document.getElementById("my_button").onclick = function(){
    
    
								    //     var res = verifyCode.validate(document.getElementById("code_input").value);
								    //     if(res){
    
    
								    //         alert("验证正确");
								    //     }else{
    
    
								    //         alert("验证码错误");
								    //     }
								    // }
									$(function(){
    
    
										$("#login").click(function(){
    
    
											var res = verifyCode.validate(document.getElementById("code_input").value);
											if(res){
    
    
											    $("#userinfo").submit();
											}else{
    
    
											    alert("验证码错误");
											}
										});
									});
								</script>
								<input type="button" value="登录" id="login" />
							</form>
						</td>
					</tr>
					<tr>
						<td></td>
					</tr>
				</table>
			</div>
		</div>
	</body>
</html>

Supongo que te gusta

Origin blog.csdn.net/weixin_46083166/article/details/107369617
Recomendado
Clasificación