本文給大家分享的是一段使用asp實現的驗證碼功能,而且是帶刷新的,代碼非常簡潔,非常實用,有需要的小伙伴可以參考下。
將以下代碼放到一個單獨的頁面checkcode.asp
- <%
- OptionExplicit
- Response.buffer=true
- CallCom_CreatValidCode(validateCode)
- SubCom_CreatValidCode(pSN)
- '禁止緩存
- Response.Expires=-9999
- Response.AddHeaderPragma,no-cache
- Response.AddHeadercache-ctrol,no-cache
- Response.ContentType=Image/BMP
- Randomize
- Dimi,ii,iii
- ConstcOdds=2'雜點出現的機率
- ConstcAmount=10'文字數量
- ConstcCode=0123456789
- '顏色的數據(字符,背景)
- DimvColorData(1)
- vColorData(0)=ChrB(0)&ChrB(0)&ChrB(211)'藍0,綠0,紅0(黑色)
- vColorData(1)=ChrB(255)&ChrB(255)&ChrB(255)'藍250,綠236,紅211(淺藍色)
- '隨機產生字符
- DimvCode(4),vCodes
- Fori=0To3
- vCode(i)=Int(Rnd*cAmount)
- vCodes=vCodes&Mid(cCode,vCode(i)+1,1)
- Next
- Session(pSN)=vCodes'記錄入Session
- '字符的數據
- DimvNumberData(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.BinaryWriteChrB(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.BinaryWriteChrB(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)
- Fori=9To0Step-1'歷經所有行
- Forii=0To3'歷經所有字
- Foriii=1To10'歷經所有像素
- '逐行、逐字、逐像素地輸出圖像數據
- IfRnd*99+1<cOddsThen'隨機生成雜點
- Response.BinaryWritevColorData(0)
- Else
- Response.BinaryWritevColorData(Mid(vNumberData(vCode(ii)),i*10+iii,1))
- EndIf
- Next
- Next
- Next
- EndSub
- %>
需要用得頁面用如下方式引用:
驗證碼: src=checkcode.asp cellpadding="0" cellspacing="0" style="border-collapse: collapse; border-spacing: 0px; width: 780px; clear: both; padding: 0px !important; margin: 0px !important; font-size: 1em !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; box-sizing: content-box !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; min-height: inherit !important; ">
以上所述就是本文的全部內容了,希望大家能夠喜歡。