有一个6位数字或字母的验证码,考虑到方便性,想更改为1-3位的但更改后,虽然生效只有3为,可是由于设计问题,总是显示6位,后3位为固定,也没什么用,但很多人访问的时候不知道,就都输进去,导致错误,想问问哪些语句是关于长度的改了一些循环语句,但是影响的是文字清晰度,不知道这种验证码是怎样写的,了解的人也请谈谈这种代码的编写怀疑是绘制语句的问题,得想法绘制的少些现将原代码写出,大家给看看<%Option ExplicitResponse.buffer = TrueNumCode () Function NumCode()Response.Expires = -1Response.AddHeader "Pragma", "no-cache"Response.AddHeader "cache-ctrol", "no-cache"On Error Resume NextDim zNum, rNum, i, j, listnum, listcodeDim Ados, Ados1listcode = "01 abcdefghijklmnopqrstuvwxyz"Randomize TimerDim zimg(6), NStrFor i = 0 To 5 rNum = CStr(CInt(9 * Rnd)) 'zimg(i) = rNumlistnum = listnum & Mid(listcode, rNum + 1, 1)NextSession("adminid" = listnumDim PosSet Ados = Server.CreateObject("Adodb.Stream"Ados.Mode = 3Ados.Type = 1Ados.OpenSet Ados1 = Server.CreateObject("Adodb.Stream"Ados1.Mode = 3Ados1.Type = 1Ados1.OpenAdos.LoadFromFile ( ppath("body.Fix")Ados1.write ad(2880)For i = 0 To 5Ados.Position = (35 - zimg(i)) * 480Ados1.Position = i * 480Ados1.write ad(480)NextAdos.LoadFromFile ( ppath(" x")Pos = LenB( ad())Ados.Position = PosFor i = 0 To 15 Step 1For j = 0 To 5 Ados1.Position = i * 32 + j * 480Ados.Position = Pos + 30 * j + i * 270Ados.write ad(30)NextNextResponse.ContentType = "image/BMP"Ados.Position = 0Response.BinaryWrite ad()Ados.Close: Set Ados = NothingAdos1.Close: Set Ados1 = Nothing'If Err Then Session("adminid" = "999"End Function%>