如何用JavaScript将验证码字符数从4位修改为5位及以上?
修改JavaScript验证码长度至5位及以上
你的验证码长度由crearrecaptcha函数里的cantidadtexto变量控制,原来的值是4,直接修改这个变量的数值就能调整验证码位数:
- 找到代码里的这行:
var cantidadtexto=4;
- 把
4改成你想要的数字,比如5(生成5位验证码)、6(生成6位)等。
修改后的完整代码如下(以设置为5位为例):
//提交表单前需验证验证码 document.addEventListener("DOMContentLoaded", function() { document.getElementById("frmlogin").addEventListener('submit', revisarform); }); function revisarform(evento) { evento.preventDefault(); //如果验证码与显示内容一致,就将数据提交到login.php if(validarrecaptcha()===true) { this.submit(); } else //否则清空表单 { document.getElementById("frmlogin").reset(); } } //生成验证码 var codvai1=''; function crearrecaptcha() { codvai1=''; var cantidadtexto=5; // 这里修改为你需要的位数 var vericodigovai=document.getElementById("vericodigovai"); vericodigovai.value=''; var letrasynumeros=new Array(0,1,2,3,4,5,6,7,8,9,'A','B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'); for(var i=0;i<cantidadtexto;i++) { var x=Math.floor(Math.random()*34); codvai1+=letrasynumeros[x]; } if(codvai1.length!=cantidadtexto) { crearrecaptcha(); } vericodigovai.innerHTML=codvai1; } //验证验证码 function validarrecaptcha() { var codingresado=document.getElementById("txtrecaptcha").value.toUpperCase(); if(codingresado!=codvai1) { alert("验证码错误,请重试"); crearrecaptcha(); document.getElementById("txtusuario").focus(); return false; }else { return true; } }
如果之前修改没成功,大概率是没定位到cantidadtexto这个核心变量,或者修改后没有刷新页面生效。
内容的提问来源于stack exchange,提问作者Ezequiel Colina
相关产品推荐
相关产品推荐

