温馨提示:代码在线浏览功能只能做为源码浏览参考,不能展示项目的全部,如果想更进一步了解该代码请下载:字母\数字\汉字混合的验证码源码
当前文件路径:AllInOneValidCode/Default.aspx

1<%@ import namespace="System"%> 2
<%@ import namespace="System.io"%> 3
<%@ import namespace="System.Drawing"%> 4
<%@ import namespace="System.Drawing.Imaging"%> 5
<script language="vb" runat="server"> 6
Sub Page_Load(Sender as object,e as eventargs) 7
'RndNum是一个自定义函数 8
dim VNum as string=RndNum(4) 9
Session("VNum")=VNum 10
ValidateCode(VNum) 11
End Sub 12
'生成图象验证码函数 13
Sub ValidateCode(VNum) 14
Dim Img as System.Drawing.Bitmap 15
Dim g as Graphics 16
Dim ms as MemoryStream 17
Dim gheight As Integer = Int(Len(VNum) * 16) 18
'gheight为图片宽度,根据字符长度自动更改图片宽度 19
img=new BitMap(Gheight,20) 20
g=Graphics.FromImage(img) 21
g.DrawString(VNum,(New Font("Arial",10)),(New SolidBrush(color.blue)),3,3)'在矩形内绘制字串(字串,字体,画笔颜色,左上x.左上y) 22
ms=New MemoryStream() 23
img.Save(ms,ImageFormat.Png) 24
Response.ClearContent() '需要输出图象信息 要修改HTTP头 25
Response.ContentType="image/Png" 26
Response.BinaryWrite(ms.ToArray()) 27
g.Dispose() 28
img.Dispose() 29
Response.End() 30
End Sub 31
'-------------------------------------------- 32
'函数名称:RndNum 33
'函数参数:VcodeNum--设定返回随机字符串的位数 34
'函数功能:产生数字和字符混合的随机字符串 35
Function RndNum(VcodeNum) 36
Dim Vchar As String = "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,W,X,Y,Z,呵,呵,弹,簧,秤,嬉,戏" 37
dim VcArray() as string=split(Vchar,",") '将字符串生成数组 38
dim VNum as string="" 39
dim i as byte 40
For i=1 to VcodeNum 41
Randomize 42
VNum = VNum & VcArray(Int(42 * Rnd())) '数组一般从0开始读取,所以这里为35*Rnd 43
Next 44
Return VNum 45
End Function 46
</script> 47
<html xmlns="http://www.w3.org/1999/xhtml"> 48
<head> 49
<title></title> 50
</head> 51
<body> 52
53
</body> 54
</html>



Sub Page_Load(Sender as object,e as eventargs)
</html>