主頁 > 知識(shí)庫(kù) > asp實(shí)現(xiàn)帶刷新功能的驗(yàn)證碼代碼

asp實(shí)現(xiàn)帶刷新功能的驗(yàn)證碼代碼

熱門標(biāo)簽:Mysql連接數(shù)設(shè)置 電子圍欄 銀行業(yè)務(wù) 科大訊飛語音識(shí)別系統(tǒng) 服務(wù)器配置 團(tuán)購(gòu)網(wǎng)站 Linux服務(wù)器 阿里云

將以下代碼放到一個(gè)單獨(dú)的頁面checkcode.asp

%
Option Explicit
Response.buffer=true
Call Com_CreatValidCode("validateCode")
 
Sub Com_CreatValidCode(pSN)
' 禁止緩存
Response.Expires = -9999
Response.AddHeader "Pragma","no-cache"
Response.AddHeader "cache-ctrol","no-cache"
Response.ContentType = "Image/BMP"
 
Randomize
 
Dim i, ii, iii
 
Const cOdds = 2 ' 雜點(diǎn)出現(xiàn)的機(jī)率
Const cAmount = 10 ' 文字?jǐn)?shù)量
Const cCode = "0123456789"
 
' 顏色的數(shù)據(jù)(字符,背景)
Dim vColorData(1)
vColorData(0) = ChrB(0)  ChrB(0)  ChrB(211) ' 藍(lán)0,綠0,紅0(黑色)
vColorData(1) = ChrB(255)  ChrB(255)  ChrB(255) ' 藍(lán)250,綠236,紅211(淺藍(lán)色)
 
' 隨機(jī)產(chǎn)生字符
Dim vCode(4), vCodes
For i = 0 To 3
vCode(i) = Int(Rnd * cAmount)
vCodes = vCodes  Mid(cCode, vCode(i) + 1, 1)
Next
Session(pSN) = vCodes '記錄入Session
' 字符的數(shù)據(jù)
Dim vNumberData(9)
vNumberData(0) =
 
"1110000111110111101111011110111101001011110100101111010010111101001011110111101111011110111
 
110000111"
vNumberData(1) =
 
"1111011111110001111111110111111111011111111101111111110111111111011111111101111111110111111
 
100000111"
vNumberData(2) =
 
"1110000111110111101111011110111111111011111111011111111011111111011111111011111111011110111
 
100000011"
vNumberData(3) =
 
"1110000111110111101111011110111111110111111100111111111101111111111011110111101111011110111
 
110000111"
vNumberData(4) =
 
"1111101111111110111111110011111110101111110110111111011011111100000011111110111111111011111
 
111000011"
vNumberData(5) =
 
"1100000011110111111111011111111101000111110011101111111110111111111011110111101111011110111
 
110000111"
vNumberData(6) =
 
"1111000111111011101111011111111101111111110100011111001110111101111011110111101111011110111
 
110000111"
vNumberData(7) =
 
"1100000011110111011111011101111111101111111110111111110111111111011111111101111111110111111
 
111011111"
vNumberData(8) =
 
"1110000111110111101111011110111101111011111000011111101101111101111011110111101111011110111
 
110000111"
vNumberData(9) =
 
"1110001111110111011111011110111101111011110111001111100010111111111011111111101111011101111
 
110001111"
' 輸出圖像文件頭
Response.BinaryWrite ChrB(66)  ChrB(77)  ChrB(230)  ChrB(4)  ChrB(0)  ChrB(0)  ChrB(0)
 
 ChrB(0) _
ChrB(0)  ChrB(0)  ChrB(54)  ChrB(0)  ChrB(0)  ChrB(0)  ChrB(40)  ChrB(0) _
ChrB(0)  ChrB(0)  ChrB(40)  ChrB(0)  ChrB(0)  ChrB(0)  ChrB(10)  ChrB(0) _
ChrB(0)  ChrB(0)  ChrB(1)  ChrB(0)
 
' 輸出圖像信息頭
Response.BinaryWrite ChrB(24)  ChrB(0)  ChrB(0)  ChrB(0)  ChrB(0)  ChrB(0)  ChrB(176)
 
 ChrB(4) _
ChrB(0)  ChrB(0)  ChrB(18)  ChrB(11)  ChrB(0)  ChrB(0)  ChrB(18)  ChrB(11) _
ChrB(0)  ChrB(0)  ChrB(0)  ChrB(0)  ChrB(0)  ChrB(0)  ChrB(0)  ChrB(0) _
ChrB(0)  ChrB(0)
 
For i = 9 To 0 Step -1 ' 歷經(jīng)所有行
For ii = 0 To 3 ' 歷經(jīng)所有字
For iii = 1 To 10 ' 歷經(jīng)所有像素
' 逐行、逐字、逐像素地輸出圖像數(shù)據(jù)
If Rnd * 99 + 1  cOdds Then ' 隨機(jī)生成雜點(diǎn)
Response.BinaryWrite vColorData(0)
Else
Response.BinaryWrite vColorData(Mid(vNumberData(vCode(ii)), i * 10 + iii, 1))
End If
Next
Next
Next
End Sub
%>

需要用得頁面用如下方式引用:

驗(yàn)證碼:  src="checkcode.asp " alt="驗(yàn)證碼,看不清楚?請(qǐng)點(diǎn)擊刷新驗(yàn)證碼" height="10" style="cursor :
pointer;" onClick="this.src='checkcode.asp?t='+(new Date().getTime());" >

判斷頁面:

%
if trim(session("validateCode")) > trim(Request("txt_check")) then
ErrorMessage = "請(qǐng)輸入正確的驗(yàn)證碼"
response.write(" script>alert('"ErrorMessage"');location.href='Default.asp' /script>")
response.end
end if
%>

以上所述就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。

您可能感興趣的文章:
  • jquery實(shí)現(xiàn)無刷新驗(yàn)證碼的簡(jiǎn)單實(shí)例
  • PHP生成可點(diǎn)擊刷新的驗(yàn)證碼簡(jiǎn)單示例
  • J2EE驗(yàn)證碼圖片如何生成和點(diǎn)擊刷新驗(yàn)證碼
  • thinkphp3.2點(diǎn)擊刷新生成驗(yàn)證碼
  • php實(shí)現(xiàn)點(diǎn)擊可刷新驗(yàn)證碼
  • ASP.NET 實(shí)現(xiàn)驗(yàn)證碼以及刷新驗(yàn)證碼的小例子
  • 關(guān)于驗(yàn)證碼在IE中不刷新的快速解決方法

標(biāo)簽:棗莊 衢州 江蘇 廣元 大理 蚌埠 衡水 萍鄉(xiāng)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《asp實(shí)現(xiàn)帶刷新功能的驗(yàn)證碼代碼》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266