jquery实现验证码检验功能(前端)

用jquery实现前端验证码的功能,校验
效果图如下:
在这里插入图片描述
html代码如下:

 <p>
          <label>      验证码:</label>
        <div class="code" id="checkCode" onclick="createCode()" ></div>
        <a class="yz"  href="#" onclick="createCode()">看不清换一张</a>
        </p>
        <p>
          <label>请输入验证码:</label><input id="YZ" name="yz" width="30px;">
        </p>
        <input class="btttom"  type="button" name="OK" id="OK" onclick="GetDom()" value="确认"/>

样式代码:

 /*验证码*/
    .code
    {
      background-color: silver;
      font-family:Arial; /*设置字体*/
      font-style:initial;
      color:brown;
      font-size:20px;
      border:0;
      padding:2px 3px;
      letter-spacing:3px;
      font-weight:bolder;

      width:81px;
      height:23px;
      margin-left: 120px;
      margin-top: -35px;

    }
    a
    {
      text-decoration:none;
      font-size:12px;
      color:#288bc4;
    }
    a:hover
    {
      text-decoration:underline;
    }
    .yz{
      position: absolute;
      margin-left: 220px;
      margin-top:-10px;
    }

js代码:

function GetDom(){
    if($("#YZ").value==""){
      alert("验证码不能为空!");
      createCode();//输错一次或提交一次都将会刷新一次验证码
      return false; //结束本次会话
    }else if(document.getElementById("YZ").value.toUpperCase()!=code.toUpperCase()){ //toUpperCase不区分大小写
      alert("您输入的验证码有误,请重新输入!!");
      createCode();//读取文件
    }
    else{
      alert("ok");
    }
  }

  var code;
  function createCode() {  //函数体
    code = "";
    var codeLength = 5; //验证码的长度
    var checkCode = document.getElementById("checkCode");
    var codeChars = 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',
            '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 charNum = Math.floor(Math.random() * 52);//设置随机产生
      code += codeChars[charNum];
    }
    if (checkCode)
    {
      checkCode.className = "code";
      checkCode.innerHTML = code;
    }
  }

欢迎交流!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个使用jQuery实现动态验证码的示例: HTML代码: ``` <form> <label for="email">电子邮件:</label> <input type="text" id="email" name="email"><br> <label for="captcha">验证码:</label> <input type="text" id="captcha" name="captcha"> <img src="#" alt="验证码" id="captchaImg"> <a href="#" id="refreshCaptcha">换一张</a><br> <input type="submit" value="提交"> </form> ``` JavaScript代码: ``` $(document).ready(function() { var captchaUrl = 'captcha.php'; //验证码图片的URL地址 var captchaId = ''; //验证码ID //刷新验证码图片 function refreshCaptcha() { captchaId = ''; //清空验证码ID $('#captchaImg').attr('src', captchaUrl + '?t=' + new Date().getTime()); //重新加载图片 } //点击“换一张”链接时,刷新验证码 $('#refreshCaptcha').click(function() { refreshCaptcha(); return false; //阻止默认链接行为 }); //在页面加载时,刷新验证码 refreshCaptcha(); //表单提交时,验证验证码是否正确 $('form').submit(function() { var captchaInput = $('#captcha'); //验证码输入框 var captchaValue = captchaInput.val(); //输入的验证码 if (captchaValue === '') { alert('请输入验证码'); captchaInput.focus(); return false; } $.ajax({ url: 'checkCaptcha.php', //验证验证码的URL地址 type: 'POST', data: { id: captchaId, value: captchaValue }, success: function(result) { if (result === 'true') { //验证码正确,表单提交 return true; } else { //验证码错误,刷新验证码 alert('验证码错误'); refreshCaptcha(); captchaInput.val(''); captchaInput.focus(); return false; } }, error: function(jqXHR, textStatus, errorThrown) { alert('出现错误:' + textStatus); refreshCaptcha(); captchaInput.val(''); captchaInput.focus(); return false; } }); return false; }); }); ``` 在上面的代码中,我们首先定义了一个变量`captchaUrl`,表示验证码图片的URL地址。然后定义了一个`refreshCaptcha`函数,用于刷新验证码图片。在函数内部,我们首先清空了验证码ID,然后使用jQuery更新了验证码图片的`src`属性,加上了一个随机参数`t`,以便每次刷新图片都会产生新的URL地址,从而避免浏览器缓存。接着,在页面加载时,我们调用了`refreshCaptcha`函数,以显示初始的验证码图片。 接下来,我们使用jQuery绑定了“换一张”链接的`click`事件,当用户点击该链接时,会调用`refreshCaptcha`函数,刷新验证码。 最后,我们使用jQuery绑定了表单的`submit`事件,在表单提交之前,首先验证用户输入的验证码是否正确。如果输入的验证码为空,会弹出提示框,要求用户输入验证码。如果输入的验证码不为空,则使用jQuery的`ajax`方法向服务器端发送验证请求,包括验证码ID和输入的验证码值。服务器端会根据这些参数,验证验证码是否正确,并返回一个布尔值。如果验证码正确,则返回`true`,表单提交;否则,返回`false`,并弹出提示框,要求用户重新输入验证码。在验证失败时,我们还调用了`refreshCaptcha`函数,刷新验证码图片,以便用户重新输入验证码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值