Javascript 驗證碼

來源:互聯網
上載者:User

需要用到驗證碼,突然想能否用js做驗證碼呢?
當然js不能作圖,但是可以用js類比做驗證碼的
於是花了20分鐘按照我的想法嘗試做,最後做出來比我想象中的效果還要好,呵呵
先貼個圖看看

代碼:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>無標題頁</title>
    <style type="text/css">
        .code
        {
            background-image:url(code.jpg);
            font-family:Arial;
            font-style:italic;
            color:Red;
            border:0;
            padding:2px 3px;
            letter-spacing:3px;
            font-weight:bolder;
        }
        .unchanged
        {
            border:0;
        }
    </style>
    <script language="javascript" type="text/javascript">
    
     var code ; //在全域 定義驗證碼
     function createCode()
     { 
       code = "";
       var codeLength = 6;//驗證碼的長度
       var checkCode = document.getElementById("checkCode");
       var selectChar = 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');//所有候選組成驗證碼的字元,當然也可以用中文的
        
       for(var i=0;i<codeLength;i++)
       {
      
        
       var charIndex = Math.floor(Math.random()*36);
       code +=selectChar[charIndex];
       
       
       }
//       alert(code);
       if(checkCode)
       {
         checkCode.className="code";
         checkCode.value = code;
       }
       
     }
     
      function validate ()
     {
       var inputCode = document.getElementById("input1").value;
       if(inputCode.length <=0)
       {
           alert("請輸入驗證碼!");
       }
       else if(inputCode != code )
       {
          alert("驗證碼輸入錯誤!");
          createCode();//重新整理驗證碼
       }
       else
       {
         alert("^-^ OK");
       }
       
       }
       
    </script>
</head>
<body>
<form  action="#">
    &nbsp;<input  type="text"  onclick="createCode()" id="input1" />
    
    <input type="text"  id="checkCode" class="unchanged" style="width: 80px"  /><br />
    <input id="Button1"  onclick="validate();" type="button" value="確定" />&nbsp;
</form>
</body>
</html>

 

呵呵,高手看了還望別笑話,僅僅是為了練習而做著玩的 (:
解釋就不用說了,大家看注釋應該就很清楚了
其實那個用來混淆文字的背景圖只是在文字下方加了個背景圖,驗證碼還是不能防止Copy的,所以基本是不能當真正的驗證碼用的。
這裡設計到我最近學習js&css中的一些東西,呵呵,練習,學習,進步~

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.