首頁 >Java >Java基礎 >JAVA中如何驗證圖片驗證碼是否正確

JAVA中如何驗證圖片驗證碼是否正確

王林
王林原創
2019-11-23 14:47:312786瀏覽

JAVA中如何驗證圖片驗證碼是否正確

知識補充:

toString() 方法用於傳回以一個字串表示的 Number 物件值。

equalsIgnoreCase() 方法用於將字串與指定的物件比較,不考慮大小寫。

驗證方法:

首先需要先取得使用者輸入的驗證碼對象,然後先判斷驗證碼是否為空,若不為空則透過「toString()」方法取得驗證碼表示的「Number」物件值,最後將驗證碼物件值與指定物件比較判斷是否正確即可。

範例程式碼:

/**
 * Author: SamGroves
 *
 * Description: 获得前端输入验证码的验证
 *
 * Date: 2017/8/26
 */@Controller@RequestMapping("/api")public class VerifyController extends BaseController{
    /**
     * @param checkCode 前端用户输入返回的验证码
     * 参数若需要,自行添加
     */
    @RequestMapping(value = "/verify")
    @ResponseBody
    public String checkcode(HttpServletRequest request,
                            HttpSession session,
                            String checkCode) throws Exception {
        // 获得验证码对象
        Object cko = session.getAttribute("simpleCaptcha"); 
        if (cko == null) {
            request.setAttribute("errorMsg", "请输入验证码!");
            return "请输入验证码!";
        }
        String captcha = cko.toString();
        // 判断验证码输入是否正确
        if (StringUtils.isEmpty(checkCode) || captcha == null || !(checkCode.equalsIgnoreCase(captcha))) {
            request.setAttribute("errorMsg", "验证码错误!");
            return "验证码错误,请重新输入!";
          // 验证码有效时长为1分钟
        Date now = new Date();
        Long codeTime = Long.valueOf(session.getAttribute("codeTime") + "");
        } else if ((now.getTime() - codeTime) / 1000 / 60 > 1) {
            request.setAttribute("errorMsg", "验证码已失效,请重新输入!");
            return "验证码已失效,请重新输入!";
        } else {
           // 在这里可以处理自己需要的事务,比如验证登陆等
            return "验证通过!";
        }
    }}

推薦教學:java開發入門

以上是JAVA中如何驗證圖片驗證碼是否正確的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn