验证码使用

很多网站都要加验证码,主要就是防止机器破解。

下面介绍一个简单的验证码使用方法(就是数字那种)

使用这个jar ----kaptcha-2.3.2.jar

jar包连接

web-xml

<!-- 验证码类库加载 -->
	<servlet>
		<servlet-name>Kaptcha</servlet-name>
		<servlet-class>com.google.code.kaptcha.servlet.KaptchaServlet</servlet-class>
		<!-- 是否有边框 -->
		<init-param>
			<param-name>kaptcha.border</param-name>
			<param-value>no</param-value>
		</init-param>
		<!-- 字体颜色 -->
		<init-param>
			<param-name>kaptcha.textproducer.font.color</param-name>
			<param-value>red</param-value>
		</init-param>
		<!-- 图片宽度 -->
		<init-param>
			<param-name>kaptcha.image.width</param-name>
			<param-value>135</param-value>
		</init-param>
		<!-- 使用哪些字符生成验证码 -->
		<init-param>
			<param-name>kaptcha.textproducer.char.string</param-name>
			<param-value>ACDEFHKPRSTWX345679</param-value>
		</init-param>
		<!-- 图片高度 -->
		<init-param>
			<param-name>kaptcha.image.height</param-name>
			<param-value>50</param-value>
		</init-param>
		<!-- 字体大小 -->
		<init-param>
			<param-name>kaptcha.textproducer.font.size</param-name>
			<param-value>43</param-value>
		</init-param>
		<!-- 干扰线的颜色 -->
		<init-param>
			<param-name>kaptcha.noise.color</param-name>
			<param-value>black</param-value>
		</init-param>
		<!-- 字符个数 -->
		<init-param>
			<param-name>kaptcha.textproducer.char.length</param-name>
			<param-value>4</param-value>
		</init-param>
		<!-- 使用哪些字体 -->
		<init-param>
			<param-name>kaptcha.textproducer.font.names</param-name>
			<param-value>Arial</param-value>
		</init-param>
	</servlet>
	<!-- 映射的url -->
	<servlet-mapping>
		<servlet-name>Kaptcha</servlet-name>
		<url-pattern>/Kaptcha.jpg</url-pattern>
	</servlet-mapping>
<pre name="code" class="html"><!-- 检查验证码是否输入正确 -->
	<servlet>
		<servlet-name>VerifyServlet</servlet-name>
		<servlet-class>com.qykh.mbj.util.VerifyServlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>VerifyServlet</servlet-name>
		<url-pattern>/servlet/VerifyServlet</url-pattern>
	</servlet-mapping>


 页面index.html 

 function  changeVerifyCode(){
	    	   $(this).attr('src', 'Kaptcha.jpg?' + Math.floor(Math.random()*100) ); 
	    }
	    //修改验证码触发的函数 
	    function  checkCode(){
		     var verifyCodeValue = $("#verifyCode").val();
		        if(verifyCodeValue.replace(/\s/g,"") == "") {
		           	$("#verifyCode1").html("请输入验证码");
		        }else {
		            //异步检查验证码是否输入正确
		 
		              var verifyUrl = "${pageContext.request.contextPath}/servlet/VerifyServlet?verifyCode="+verifyCodeValue;
		            $.ajax({
		            	type:"GET",
	                    url:verifyUrl,
		                success:function(data){
		            	 if(data!="Y") {
                             $("#verifyCode1").html("验证码不正确");
                             $("#verifyCode").val(""); //清空
                         }else {
                            $("#verifyCode1").html("");
                         }
		                },
		                error:function(e){
		                    alert(e);
		                }
		            });
		        }
		    }
<div class="form-group">
		<label for="" ><img src="images/member/XX.jpg">验证码:</label>
		<input type="text" name="verifyCode" id="verifyCode" class="sradd kapkey" οnblur="checkCode()" required style="color:#999;">
		<img src="Kaptcha.jpg" οnclick="changeVerifyCode()"  id="yzmImg" style="cursor: pointer;" width="130" height="40">
                <a href="javascript:void(0)" οnclick="changeVerifyCode();" >看不清,换一张</a>
		<span id="verifyCode1"></span>
	</div>


 这里解释一下,就是你 写一个img ,点击后调用js 请求配置的katcha.jpg得到一个url地址,显示出来就行了。校验就是调用自己的写的那个类,ajax 

原理篇我会再发一个帖子。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值