Jquery获取手机验证码后60秒内禁止重新获取 简单例子



第一步:准备按钮


<input type="button" id="getVerifyCode" value="获取验证码" /><em>如未收到,请重新获取。</em>


第二步:准备必要的样式css


<style type="text/css">
    	#getVerifyCode{cursor: pointer; outline: none;}
    </style>


第三步:请求验证码并处理按钮


$("#getVerifyCode").click(function(){
	    		var phone = $("#txtLoginName").val();
	    		if(phone.length == 0){
	    			alert("请填入手机号码");
	    			return false;
	    		}
	    		if(!(/^1[34578]\d{9}$/.test(phone))){ 
	                alert("手机号码有误,请重填");  
	                return false; 
	            }
	             var btn = $(this);
	             var count = 60;
	             var resend = setInterval(function(){
	                 count--;
	                 if (count > 0){
	                     btn.val(count+"秒后可重新获取");
	                     $.cookie("captcha", count, {path: '/', expires: (1/86400)*count});
	                 }else {
	                     clearInterval(resend);
	                     btn.val("获取验证码").removeAttr('disabled style');
	                 }
	             }, 1000);
	             btn.attr('disabled',true).css('cursor','not-allowed');
	    		$.ajax({
				    type: "POST",
				    url: "${pageContext.request.contextPath}/user/getVerifyCodeByPhone",
				    data: {phone:phone},
				    dataType: "json",
				    success: function(data){
				    	if(data.status == 500){
				    	}else{
				    		alert("网络异常,请稍后重试"); 
				    	}
				    }
				});
	         });


第四步:测试结果




  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这里提供一种使用 jQuery 实现验证码简单示例代码: HTML 代码: ```html <div id="captcha"> <input type="text" id="captcha-input"> <img src="" id="captcha-img"> </div> ``` JavaScript 代码: ```javascript $(function() { // 生成验证码并显示 generateCaptcha(); // 点击验证码图片重新生成验证码 $('#captcha-img').click(function() { generateCaptcha(); }); // 输入框失去焦点验证验证码 $('#captcha-input').blur(function() { var input = $(this).val(); if (input.toLowerCase() !== $('#captcha-img').data('captcha').toLowerCase()) { alert('验证码错误!'); generateCaptcha(); } }); // 生成验证码 function generateCaptcha() { // 生成随机验证码 var captcha = ''; var chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; for (var i = 0; i < 4; i++) { captcha += chars.charAt(Math.floor(Math.random() * chars.length)); } // 显示验证码图片 var imgUrl = 'http://placehold.it/100x40?text=' + captcha; $('#captcha-img').attr('src', imgUrl).data('captcha', captcha); // 10后失效并重新生成验证码 setTimeout(function() { generateCaptcha(); }, 10000); } }); ``` 上面的代码生成一个包含输入框和验证码图片的容器,当页面加载完毕时生成一个随机验证码,并将其显示在验证码图片上。当用户点击验证码图片时,重新生成一个随机验证码,并将其显示在验证码图片上。当用户输入验证码时,失去焦点时会进行验证,如果验证码错误,则弹出提示框并重新生成一个随机验证码。同时,为了保证验证码的安全性,验证码在10后会失效,并重新生成一个随机验证码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值