亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > AJAX > 正文

基于ajax實現驗證碼功能

2024-09-01 08:27:04
字體:
來源:轉載
供稿:網友

本文實例為大家分享了ajax實現驗證碼功能的具體代碼,供大家參考,具體內容如下

首先創建一個驗證碼:

<%@ page contentType="image/jpeg; charset=utf-8"   language="java" import="java.util.*,java.awt.*,java.awt.image.*,javax.imageio.*"   pageEncoding="UTF-8"%> <!-- 以上導入awt和awt.image包 --> <%!   //獲取隨機顏色   public Color getColor(){    Random random = new Random();    //使用rgb()隨機產生顏色    int r = random.nextInt(256);    int g = random.nextInt(256);    int b = random.nextInt(256);        return new Color(r,g,b);   }      //獲取隨機數字 產生一個4位數   public String getNum(){    String str = "";    Random random = new Random();    for(int i = 0;i < 4;i++){     str += random.nextInt(10); //0-9    }    return str;   } %>  <%   /* 清除緩存 */   response.setHeader("pragma", "mo-cache");   response.setHeader("cache-control", "no-cache");   response.setDateHeader("expires", 0);   //產生矩形框   BufferedImage image = new BufferedImage(80,30,BufferedImage.TYPE_INT_RGB);   //獲取畫筆工具   Graphics g = image.getGraphics();   //設置矩形框的顏色   g.setColor(new Color(200,200,200));   //設置坐標和寬高   g.fillRect(0, 0, 80, 30);        //隨機產生干擾線   for(int i = 0;i < 30;i++){    Random random = new Random();    int x = random.nextInt(80);    int y = random.nextInt(30);    int x1 = random.nextInt(x + 10);    int y1 = random.nextInt(y + 10);    //設置隨機顏色    g.setColor(getColor());    //畫出來    g.drawLine(x, y, x1, y1);   }      //字的顏色和數字   g.setFont(new Font("Microsoft YaHei",Font.BOLD,16));   g.setColor(Color.BLACK);   //獲取隨機數字   String checkNum = getNum();      //給字拼接空格   StringBuffer sb = new StringBuffer();   for(int i = 0;i < checkNum.length();i++){    sb.append(checkNum.charAt(i) + " ");   }   //畫出數字   g.drawString(sb.toString(), 15, 20);   //存入session域中   session.setAttribute("CHECKNUM", checkNum); //例如1010   //將圖像以jpeg的形式通過字節流輸出   ImageIO.write(image, "jpeg", response.getOutputStream());   //清除緩存   out.clear();   //放入body中   out = pageContext.pushBody(); %> 

將驗證碼壓縮成圖片,在checkcode.jsp中引用,并在該頁面中利用ajax向服務器發送數據

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html>  <head>  <base href="<%=basePath%>" rel="external nofollow" >    <title>驗證碼</title>    <meta http-equiv="pragma" content="no-cache">  <meta http-equiv="cache-control" content="no-cache">  <meta http-equiv="expires" content="0">   <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">  <meta http-equiv="description" content="This is my page">  <style type="text/css">   table{    margin: 100px auto;   }     </style>  </head>   <body>   <table border="0" align="center">    <tr>     <td>驗證碼</td>     <td><input type="text" name="checkcode" id="checkcodeID" maxlength="4" size="4"></td>     <td><img alt="加載失敗" src="image.jsp"></td>     <td id="show">√√√</td>    </tr>   </table>  </body>  <script type="text/javascript">   //去除空格   function trim(str){    //從左側開始替換空格    str = str.replace(/^/s*/,"");    //從左側開始替換空格    str = str.replace(//s$/,"");    return str;   }    </script>   <script type="text/javascript">   //創建ajax對象   function createAjax(){    var ajax = null;    try{     ajax = new ActiveXObject("microsoft.xmlhttp");    }catch(e){     try{      ajax = new XMLHttpRequest();     }catch(e1){      alert("請更換瀏覽器");     }    }    return ajax;   }  </script>    <script type="text/javascript">   document.getElementById("checkcodeID").onkeyup = function(){    var checkcode = this.value;    //去除空格    checkcode = trim(checkcode);    if(checkcode.length == 4){     //獲取ajax對象     var ajax = createAjax();     //獲取去空格的內容          var method = "POST";     var url = "${pageContext.request.contextPath}/CheckcodeServlet?time="+new Date().getTime();     //準備發送異步請求     ajax.open(method, url);     //設置請求頭POST提交方式才需要     ajax.setRequestHeader("content-type", "application/x-www-form-urlencoded");     //拼接實體內容     var content = "checkcode=" + checkcode;         //發送請求     ajax.send(content);          //監聽服務器狀態變化     ajax.onreadystatechange = function(){      if(ajax.readyState == 4){       if(ajax.status == 200){        //獲取服務器內容        var tip = ajax.responseText;        //獲取圖片路徑 然后進行放入td中        var img = document.createElement("img");        img.src = tip;        img.style.width = "14px";        img.style.height = "14px";        var td = document.getElementById("show");        td.innerHTML = "";        td.appendChild(img);       }      }     }         }       }  </script> </html>             
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91po在线观看91精品国产性色| 欧美午夜久久久| 亚洲激情免费观看| 欧美激情欧美激情| 啊v视频在线一区二区三区| 黑人巨大精品欧美一区二区三区| 麻豆精品精华液| 色综合天天狠天天透天天伊人| 亚洲欧洲国产伦综合| 日韩有码在线电影| 国产欧美精品va在线观看| 91av在线播放视频| 91av国产在线| 影音先锋日韩有码| 日韩亚洲成人av在线| 成人黄色免费网站在线观看| 美女久久久久久久| 国产精品成人久久久久| 欧美成人黑人xx视频免费观看| 欧美大尺度激情区在线播放| 亚洲国产精品美女| 欧美另类老女人| 日本高清久久天堂| 亚洲国产精品999| 欧美电影第一页| 亚洲欧美精品suv| 亚洲一区二区三| 亚洲第一男人av| 国产成人精品免费久久久久| 7777精品久久久久久| 精品久久久久久久久久久| 亚洲аv电影天堂网| 久久在线精品视频| 午夜欧美不卡精品aaaaa| 一个人看的www久久| 日韩精品极品在线观看播放免费视频| 亚洲美女视频网| 国产欧美一区二区三区在线| 日韩av在线免播放器| 91av成人在线| 国产免费久久av| 国产一区二区激情| 欧美怡春院一区二区三区| 78m国产成人精品视频| www.亚洲免费视频| 精品视频偷偷看在线观看| 国产精品免费网站| 8050国产精品久久久久久| 欧美极品少妇全裸体| 欧美日韩一区二区在线| 欧美日韩免费在线观看| 国产精品r级在线| 亚洲老头老太hd| 欧美激情在线一区| 国产精品露脸自拍| 日韩精品在线观看一区| 亚洲肉体裸体xxxx137| 国产精品自产拍在线观看中文| 日韩免费观看视频| 欧美一区二区大胆人体摄影专业网站| 精品久久久久久久久久ntr影视| 欧美成人国产va精品日本一级| 国产精品久久久久久久久久免费| 欧美性猛交xxx| 欧美日韩中文字幕日韩欧美| 欧美激情视频播放| 久久精品国产一区| 性欧美亚洲xxxx乳在线观看| 久久久久久久久国产精品| 欧美激情区在线播放| 日韩成人中文字幕在线观看| 久久伊人免费视频| 亚洲精品小视频| 国产视频在线观看一区二区| 亚洲欧美日韩久久久久久| 日本高清视频精品| 亚洲午夜未删减在线观看| 亚洲国产另类久久精品| 97视频在线免费观看| 精品国产一区二区三区久久狼5月| 久久久久久久91| 国产成人av在线播放| 亚洲综合中文字幕在线观看| 国产精品对白刺激| 日韩中文字幕第一页| 日韩一区二区三区国产| 成人免费大片黄在线播放| 国产午夜精品理论片a级探花| 97免费视频在线播放| 日本不卡免费高清视频| 国产精品久久久久久久电影| 精品久久久一区| 成人黄色免费片| 亚洲成人性视频| 国产成人精品日本亚洲专区61| 91极品女神在线| 伊人伊人伊人久久| 亚洲a在线播放| 精品国产91乱高清在线观看| 中文字幕精品视频| 国内精品一区二区三区四区| 久久精彩免费视频| 久久精品欧美视频| 久久久久久久久久久成人| 日韩欧美国产黄色| 久久亚洲精品国产亚洲老地址| 国产精品免费小视频| 欧美一级在线播放| 国产小视频国产精品| 日韩高清中文字幕| 日韩av影视综合网| 欧洲成人在线观看| 国产精品美乳一区二区免费| 国产97在线播放| 久色乳综合思思在线视频| 欧美国产高跟鞋裸体秀xxxhd| 日韩精品视频免费| 欧美一区第一页| 国产91精品久久久久久| 成人国产亚洲精品a区天堂华泰| 久久人体大胆视频| 国产精品青草久久久久福利99| 日韩在线视频播放| 91精品久久久久久久久久| 日本亚洲欧洲色α| 4438全国成人免费| 在线色欧美三级视频| 国产伦精品一区二区三区精品视频| 日韩在线视频观看正片免费网站| 亚洲第一色中文字幕| 亚洲欧美精品一区| 精品福利在线视频| 日韩久久免费电影| 7m精品福利视频导航| 久久久亚洲福利精品午夜| 奇米4444一区二区三区| 国内精品伊人久久| 国产日本欧美在线观看| zzijzzij亚洲日本成熟少妇| 日韩欧美999| 日本三级韩国三级久久| 5566日本婷婷色中文字幕97| 亚洲激情视频在线播放| 精品久久久香蕉免费精品视频| 亚洲欧洲国产精品| 精品国产依人香蕉在线精品| 91成品人片a无限观看| 欧美午夜视频一区二区| 伊人一区二区三区久久精品| 在线视频欧美日韩精品| 久久精品影视伊人网| 欧美性一区二区三区| 色噜噜狠狠狠综合曰曰曰88av| 国产精品吴梦梦| 97国产精品视频人人做人人爱| 琪琪亚洲精品午夜在线| 国产精品美女无圣光视频| 国产精品精品久久久| 日韩成人免费视频| 午夜伦理精品一区| 国产精品劲爆视频| 亚洲欧洲偷拍精品| 成人在线国产精品| 色噜噜狠狠狠综合曰曰曰|