[原创]纯文本型验证码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-CN">
<meta http-equiv="Content-Type" content="application/xhtml-xml; charset=gb2312" />
<title>纯文本型验证码</title>
<meta http-equiv="Content-Language" content="zh-CN" />
<style type="text/css" media="all">
<!--
body {font-size:14px;}
.Code {font-size:3px;margin:0px;}
.Code li {list-style:none;font-family:"Courier New";display:block;margin:0px;padding:0px;line-height:2px}
input {border:1px solid #666;}
-->
</style>
</head>
<body>
<p style="width:300px;color:#333399;">
原来见过的验证码大都是通过生成XBM图片完成的,不过据说XBM在Win2003下默认是禁止显示的。
我突发奇想不如做个纯文本的验证码,这样就不会有问题了,呵呵。
<br/>
两个字符间的间距不是固定的,字符的纵向偏移也是随机的,再加上一些随机杂点,想要识别还是不容易的吧:)
</p>
<div></div>
<form method="post" action="MyCode.asp">
<div style="float:left;padding-top:5px;">输入验证码:<input type="text" name="Code" size="10"/></div>
<div style="float:left;padding-left:10px;"><div style="color:#FF0000;"><ul class='Code'><li>---N62C-----KH8C5S--U--K----------G--------</li>
<li>--2----F-----K----T--9UW-----------------.-</li>
<li>-F-----------B----4--9-C------AC--C2Q------</li>
<li>-D-----------Z----9----N-----.-O---I-------</li>
<li>-V-----2-----18L6C-----N-------P---A-------</li>
<li>-U---7UN-----Z---------1-----/-5---W-------</li>
<li>-T-----Z-----6------X--9-------7---Z-------</li>
<li>--U----G-----Q---------8-------O---K-------</li>
<li>---RKR1-----JPS4-----EL4P3-----M---F-------</li>
<li>-------I-----------------------8---X-------</li>
<li>-----------------W--M-----------EZH-------=</li>
<li>-------------------------------------------</li>
<li>--------------------;----------------------</li>
<li>----------------U--------------------------</li>
<li>----E-----------------------------U--------</li>
</ul></div></div>
<div style="text-align:center;width:300px;margin-top:10px;clear:both;">
<input type="submit" name="Submit" value="确 认">
<input type="reset" name="Reset" value="重 填">
</div>
</div>
</form>
<h3>调用示例:</h3>
8个字符,无杂点,字符间隔相同,无纵向偏移
<div style="color:#0000FF;"><ul class='Code'><li>----------------------------------------------------------------</li>
<li>----------------------------------------------------------------</li>
<li>---CD2Q--HZFFW-----4ZOE--UTUYB------A8-----S8------25Q-----K75M-</li>
<li>--A----1--7---M------Z----Q---2----V--------K-----9---9------Z--</li>
<li>-T--------2----S-----5----G----9--T---------O-----H--T1------S--</li>
<li>-G--------9----6-----5----8----6--U--------A-4----C--VP------6--</li>
<li>-O--------O----M-----Z----P----P--7XXD-----9-Z----X-6-5------Y--</li>
<li>-P--------F----B-----9----2----W--8---7---J---7---18--E------W--</li>
<li>-5--------G----Q-B---M----8----T--7---O---SZWWW---ZF--8--B---W--</li>
<li>--F----3--S---H--C---0----4---M---V---X---5---U---J---C--Y---3--</li>
<li>---OMBB--VI4OX----I32----0X4RW-----5MT---9DK-GL4---AQX----52G---</li>
<li>----------------------------------------------------------------</li>
<li>----------------------------------------------------------------</li>
<li>----------------------------------------------------------------</li>
<li>----------------------------------------------------------------</li>
</ul></div>
<br/>
12个字符,1/8杂点,字符间隔相同,有纵向偏移
<div style="color:#FF00FF;"><ul class='Code'><li>-------------------------ZXJSG1P-----------------0LUZ2QU-------------------------13LON8----YCR--</li>
<li>--------------------------C----Z-----------------C--L--N-----------------OQ7-VRV--C----D--I---1-</li>
<li>--------------E-----------6-------------------------9---------------------P---H---N----V--9---3-</li>
<li>---8HC---HET-OQV----------B--3-----T76------Q-------X----------------------3-LC---T----G--O---N-</li>
<li>--8---U---0---2------O-----4X1----R---J---X5Y-------V--------P----Z5ZJ8----4-C----56418----PQ5--</li>
<li>--S---X---Z---0-----GY----O--E---S-----Y----P-------P-------UZ---9-----R----Q-----M----Q--V---4-</li>
<li>--D---T---V---L-----FZ----F------8-----O----J-------Y-------OE--M9---------G-XJ---M----G--0---F-</li>
<li>---OY\T---E---G----A-P----U----O-6-----9----H-------U------L-N---S---------L-J----3----N--N---3-</li>
<li>------8---H---I----I-6---NTHJZMY-7-----I----5------X3I-----R-W----PALZL---V---O--CV6BR0----14G--</li>
<li>------T---P5--9---C--4------------Q---K-----J-------------U--V---------V,KRI-A10----------------</li>
<li>-----A----O---H---FGEIW------------5MM------3----------H--AOQFE--------N------------------------</li>
<li>---7H------6X2-------M--------\----EN-GM--777OJ--------------C---B-----O------------------------</li>
<li>--------------------I0X--Y----------------------------------T8A---7I6NA-------------------------</li>
<li>----------------------H--C----------------------------------------------------------------------</li>
<li>--------------------------------------------------------S---------------------------------------</li>
</ul></div>
<br/>
18个字符,1/6杂点,字符间隔不同,无纵向偏移
<div style="color:#336699;"><ul class='Code'><li>--------------------------------------G----------------------M--------------------------------------------------------------------------------------------------------------P---------------------------------</li>
<li>----------------------------------------------------------------------------------------------------------------------Z----------------------------------L----------------------------------------------------</li>
<li>----U--------S------MX2-5CN------SUF5K----92XM6-------I8DRH10------WMYXX42-----GP4LC----------6H--------VGI-------JR--42J------VB8-IS3--7MBZN-------AFQ-4KA-----04L4GK----5HA---------ICH-F8W------GXX--3V----</li>
<li>--NGE-------VP-5-----4---2---------H------ZS----------5--A--8--------Q----R------E-------------D-------4---J-------Q---D--------L---P--I-----A-------G---6-------V----6--U---X---------5---R--------M---C-----</li>
<li>----N-------SF--------H47----------7-+----D----------:---W-----------4----Q------C-------------8------2-----1------6I--0--------2---J--M--I----------4---4-------N----L------0---------3---E--------K--4------</li>
<li>----B------I-2--------4-7----------P------1--------------U-----------Y----U------R------------G-C-----F-----P------54--K---------K-0---Y----5------5-I---Z-------*----P------1-----G----0-4---------2--X------</li>
<li>----T------4-F---------J-----------V------TS6S-----------6-/----E----9SSY1-------1------------O-O-----Y-----Q------3-3-W---------6-U----9FFE8--------1---N-------Q8UY5------W-----------8-V---------A-W-------</li>
<li>----F-----N--9--------M-6----------K----------R----------I-----------I--G--------P-----------K---S----N-----H------H--C9----------W----------2-------L---0-------7---------Y-------------I----------NUL-------</li>
<li>----V-----VJLJW----P--V-G----------Y-------W--5-------+--T-----------M--0--------E-----------8X7EX----J-----F------Q--FW----------W----------E-------H---Y-------V--------T-------------LS----------I--U------</li>
<li>----X--------C-------O---H---------H---3--N---O----------4-----K-----N---J-------U---F-------9---X-----J---F-------M---1---------39----U-----R-------3---6-------A-------P---------------1----------G---7-----</li>
<li>--3LEJ7-----TEM-----J88-3HX------HQ6DRCA---JQ6----------8D3---------1NX--V5----AT5O1QW------7J0-O9W-----BUS-------ALY--K---------6PO----JUMDC---------KB4-------I7U1-----C8OMX---N------EPJ-------N8AU--4Z----</li>
<li>-------------------------Q-------2------------.-----------------------------------------------------------------------------------------------------------------------------X------------------------J--------</li>
<li>-V---------------------------------------------------------------------------------------------------------------------------------------------------------------\--------------------------------------------</li>
<li>---------------------P------------------------------------------W-----------------------------------------------------------------------------------------V----------------V----------------------------------</li>
<li>--------------------------------5-------------------------------------------------*-------------------------------------------:-------------------------------------------------------------------------------</li>
</ul></div>
<br/>
36个字符,1/4杂点,字符间隔不同,有纵向偏移
<div style="color:#996633;"><ul class='Code'><li>---------*-------------------------------------------YJP-11J---5E6---*-----------------------24O----------------------------------------4--------------------------1---------------6-----------------------------------------Q------T------------------------------------------------F8W--------9FL-LQW-------------------------------------------H--------------------------8------F----------------------------------S-----</li>
<li>------------------------------PY2---------------------3---8---Y--.Z-------------------------I---5------9VO----------------------------------------\-------C--------------------PTBFL------------4---------------------------------GJ6-----------------------2U--K8U--------9HX------0---K--------L---0------------------------;------------------------A2DS1YW----5B---WW---------------J------------0-----------------------</li>
<li>---------------8-------------U---H----------S,--------J---2---H---B--.-----------O----------Y.--Z-----N---K-----MU1K*A--------C4--RO9----BG2-P14---6MW------------------Y1JVM---9---O-------------------------------Y---------:-----O------------------------C-=-R--------4---2----D-----7-------F---J------0RX--------------9----------------Q65CW-----N----T-----J--IR------INE2U------------------------------9E--7QW-M---</li>
<li>--4-----------------------D--U--DR-----------8-------WB---E---2---Q----------X---P3C-TE6----J---H-----B--VN------B----B--------F---1------S---G---D---R-----------------V---W---C----F---------------S-----------------K------------3---------JI1ZSJW--------ZY--R-------AR----X---Z-----0-------E---1-----U---3-------6MPXV------8B---28----V-----N----D--------1-U8-CR------V----M----------B-------------------OP--9------</li>
<li>---U72--------ADPV6EW--------1--OR-----------H---------E-L-----IP4----------K,----Q---V------3=1------4--VS------L----W-------,2T--H-------P-C---O-8---2---MK---XT----------C---O----B---------2T5H-------WZHB-----O---6V9,-R-------H---------G--P--E--------ZD--R-------S---Z-W---X-----A-------SUPUB----X-----Q-----Q-----P------7---6-----S----------J-:L-------4V-4Z-----E-------------TFA1----5---ALEB7------H5--N------</li>
<li>--K---N-------4----Y---------M-D-3-------:--N-R--------9-M----9---R---------DH----7V--Y-----S---C-----H-L-I------H----K--------87--4-------K-O---G-----1---:O---O----=-----V--C-7----Z-----------4--------V---7-------H---H---------8------------R-----------U-IAM-3-----B-----8---3-----H--\----9---A----6-----F-----Z------------CH-KE-----O--X-------UFKZ-------R-C-P-----I---------------X---------V----------4H--E------</li>
<li>-H-----Q----------J---------R21--F----------AW1--------1-R----J---T--------H-Q----M---W-----I---N-----FH--G------XNI8S---------6IB-K--------Y----G-----O----2R-NF----------Y--*-R----7-----------6------------6----:--1---O---------P-----9------F-----------B--U0-------R-----T---5----3R-------3---4----O-----8-----5-----------U78-L2-----S8QPFH-----0--I-------YH8-Y-----K---------------B-----:---\----------Z-6-F----0-</li>
<li>-8-----I----------V----------XVW-K---------I---8--------F-;---6---0--D-----M-3----P---Q-----4---U-----9Z--0------X--G----------3--9D-------T-1---L---=-O----4L-2V---------5-----V----F-----------Q------------M-Y-----Z---K---------0----------O-G-----------Z--8F----,--1-----S----F---B--------6---S----H-----H------AS8QR-------O-M-R-----------G----U----------Y---9-----X----------H----T---------I---H------4--RS------</li>
<li>-U-----W---------4J----------P---D---------RNTX4--------T------8U;--------6--V----X---X------KV4-----XS---0------L--M----------C--XE----N--D-D---A-----S---YS-G-4---------3-----K--.I------------4-B-------.V6---------2PV--------J86T8----------S-----------F---6--------J---U------NVS--------2E8-SME---3-----G--H--------Q---L--5-I-1------0----D----3----P----GJ---5-----Z-8---------Q---M---------1080------*Q--ZW------</li>
<li>-D-----0----T---Y--K----------XG1----------G---X------------8----------T--071VD---H---Q----------------CQ2------9M---8---------6---N------T---B---C---H-----V-G-U--------Q-----6RF39-------------J------------2-------1---8--U-------------9-,---P----------2KE--W------;--TJE-----------------------------Y---9------------Z-A----2---L-----N-----S---LALV8F6----JKC-1RI-----S--+-Y---------9------------VC------B---4------</li>
<li>--Y--SH---------R/------------------------6VU-54K------------/---------------6----EV--J-------------------------4O4--MZ-------XRN--R-----FLS-JVW---EVO------2---2--I-----Z-----------------\-Y---V---Y--------J---+---7---T----------------------H----------------V----------------------------------V------TCA-B--7--N-----Q------O---XG-----ERMAR-------------------O--------UJV3------4---O-------------B-----C0I--C------</li>
<li>---ONL------G--1----Z-------------------------------------------------------HUW----SGP----------------------------------------------------B-----------------I---L-------------+--------------O---K--------2---G--J----2---H---------------------4C+--------------------Y----------P-------------------/---:------------TE0XQ------INE-2YI---P--------------------------------------------L---A---------4---J-----------------</li>
<li>---Y3-GH------CJQOIAS-------------------------------------------------------------------------------------------------------------------------------------X2LN-4EE----------------------------1CN---------2035---------VA7---------:---------------------------------------------------------.-----------------------------------------*--------------------------------------H-----------R51------J----DA5------------------</li>
<li>------------------U-----------------------------------W-----------------------------;-----------------------------------U---------------------------------------------------------------------------\--------------C------------------------G-------------------0----------------------------J--------------------------------------------------J--------------------S-------5-----------------------------------------------</li>
<li>------F-I---------------------------------------------------------------P----------------------E-----------W-------G---------------------------------------------------------------------------------------------------------*---------------2----------------------.-----9--------------------------------2--------V-------------------------------------------------------C-------------------------------------K----------</li>
</ul></div>
<br/>
</body>
</html>
演示地址:http://www.4yt.net/yc/function/mycodetest.asp
[此贴子已经被作者于2005-9-18 23:28:03编辑过]