国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

數(shù)字和字母組合并生成圖片的驗(yàn)證碼祥解

2019-11-18 19:54:45
字體:
供稿:網(wǎng)友

  大家經(jīng)常在網(wǎng)上登陸的時候經(jīng)常會看到讓你輸入驗(yàn)證碼,有的是文字的,有的呢是圖片,比如chinaren.com校友錄中留言的時候,我們就會看到數(shù)字圖片驗(yàn)證碼;網(wǎng)上關(guān)于數(shù)字文字驗(yàn)證碼實(shí)現(xiàn)方法的相關(guān)資料很多,而我們這里介紹的是數(shù)字和字母隨機(jī)組成的并且生成圖片的驗(yàn)證碼的實(shí)現(xiàn)方法。看起來很復(fù)雜、其實(shí)很簡單的,大家跟著我往下看:

  首先,我們先介紹一下設(shè)計(jì)思路,數(shù)字和字母的隨機(jī)組合生成驗(yàn)證碼,然后將驗(yàn)證碼生成圖片,這里“數(shù)字和字母的組合”應(yīng)該是隨機(jī)取出來的;如果是專門的數(shù)字驗(yàn)證碼,我們可以這樣實(shí)現(xiàn):

  ycodenum=4 '驗(yàn)證碼的位數(shù),或者說成個數(shù)
  for i=1 to ycodenum
    Randomize '初始化隨機(jī)數(shù)發(fā)生器
    ycode=ycode&Int((9*Rnd)) 'rnd是隨機(jī)數(shù),從0到1之間的任意實(shí)數(shù),這里獲得0到9之間的整數(shù)
  next

  response.write ycode '就可以輸出數(shù)字驗(yàn)證碼(4位)

  然而,我們要讓數(shù)字和字母同樣隨機(jī)生成,這里我們可以用到數(shù)組來實(shí)現(xiàn)這種效果,如下:

  ychar="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" '將數(shù)字和大寫字母組成一個字符串
  yc=split(char,",") '將字符串生成數(shù)組
  ycodenum=4
  for i=1 to ycodenum
    Randomize
    ycode=ycode&yc(Int((35*Rnd))) '數(shù)組一般從0開始讀取,所以這里為35*Rnd
  next

  response.write ycode
  
  現(xiàn)在看看輸出結(jié)果是不是數(shù)字和字母隨機(jī)組合的呢?

  下面看看怎樣生成圖片,這個也許有些朋友知道:asp不能生成圖片,必須使用asp組件。不錯,我們這里使用的是ASP圖象組件shotgraph。有一點(diǎn)大家注意,服務(wù)器不是自己的不能用哦,因?yàn)槟阊b不了這組件。

  組件的下載地址:http://www.survivalescaperooms.com/download/ShotGraph.rar,至于怎么注冊,這里就不多說了,網(wǎng)上有很多資料

  我們看看生成圖片的代碼:

  ychar="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" '將數(shù)字和大寫字母組成一個字符串
  yc=split(char,",") '將字符串生成數(shù)組
  ycodenum=4
  for i=1 to ycodenum
    Randomize
    ycode=ycode&yc(Int((35*Rnd))) '數(shù)組一般從0開始讀取,所以這里為35*Rnd
  next

  Response.Clear
  Response.ContentType="image/gif"
  set obj=Server.CreateObject("shotgraph.image")
  x=55 '圖片的寬
  y=26 '圖片的高
  obj.CreateImage x,y,8 '8是圖片的顏色8位
  obj.SetColor 0,55,126,222
  obj.SetColor 1,255,255,255

  obj.CreatePen "PS_SOLID",1,0
  obj.SetBgColor 0
  obj.Rectangle 0,0,x-1,y-1
  obj.SetBkMode "TRANSPARENT"
  obj.CreateFont "Arial",136,18,1,False,False,False,False
  obj.SetTextColor 1
  obj.TextOut 5,4,ycode&" "

  img=obj.GifImage(-1,1,"")
  Response.BinaryWrite (img)

  針對以上代碼也就是說shotgraph普通的畫圖的原理請參考:http://www.pconline.com.cn/pcedu/empolder/wz/asp/10204/45207.html

 


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 翁牛特旗| 鄂托克旗| 米脂县| 蓬安县| 赤峰市| 广丰县| 西乌| 万载县| 青神县| 酒泉市| 汕头市| 菏泽市| 重庆市| 东乡| 建昌县| 兴业县| 长顺县| 化州市| 萝北县| 本溪市| 图木舒克市| 南和县| 华亭县| 那坡县| 新巴尔虎左旗| 榆树市| 武乡县| 杂多县| 和龙市| 车致| 富源县| 兴安盟| 衡山县| 祁东县| 新野县| 温州市| 宜宾市| 米易县| 二连浩特市| 杭锦后旗| 醴陵市|