
根据需要,也可以定制8位长度的验证码,如图2所示。

或者是字母数字混合式的验证码,如图3所示。

此外,用户也可以对底部的文字进行定制,如图4所示。

看到这些各具特色而且功能强大的验证界面,我们能否自己也来实现呢?答案是肯定的。下面,通过循序渐进的讲解,对jQuery Real Person Plugin的验证过程进行分析。
第1步,使用这个验证功能之前,引入JavaScript、CSS文件。
<script type="text/JavaScript" src="Scripts/jquery-1.3.2.js"></script><script type="text/JavaScript" src="Scripts/jquery.realperson.js"></script><style type="text/css">@import "Styles/jquery.realperson.css";</style>在上面的代码中,第1行引入jQuery类库,可以到官方网站载最新jQuery类库。第2行引入验证码插件类库jquery.realperson.js。第3行引入验证码样式文件jquery.realperson.css。网站界面如图5所示。

第2步,页面中放入文本框元素,也就是HTML部分。
<table><tr><td><input type="text" id="txtValidate" name="defaultReal"></td></tr><tr><td><asp:Button ID="btnSubmit" runat="server" Text="登录" /></td></tr></table>在上面的代码中,第1行使用两行一列进行布局,一行用于存放文本框,一行用于存放登录按钮。第3行定义id=”txtValidate”的文本框,用于输入验证码。第6行定义id=”btnSubmit”的提交按钮,用于触发后台事件,从而登录系统。
<script>$(document).ready(function () {$("#txtValidate").realperson({ length: 5 });});</script>在上面的代码中,第2行为页面加载时所进行的操作,相当于页面的onLoad事件。第3行调用验证码控件的接口,用于显示验证码。/* 核心代码@param target (jQuery) the input field@param inst(object) the current instance settings@return (string) the additional content */_generateHTML: function(target, inst) {var text = "";for (var i = 0; i < inst.settings.length; i++) {text += CHARS.charAt(Math.floor(Math.random() *(inst.settings.includeNumbers ? 36 : 26)));} var html = "<div class="realperson-challenge"><div class="realperson-text">"; for (var i = 0; i < DOTS[0].length; i++) { for (var j = 0; j < text.length; j++) { html += DOTS[CHARS.indexOf(text.charAt(j))][i] + " ";}html += "
";}html += "</div><div class="realperson-regen">" + inst.settings.regenerate +"</div></div><input type="hidden" class="realperson-hash" name="" +inst.settings.hashName.replace(/{n}/, target.attr("name")) +"" value="" + this._hash(text) + "">";return html;在上面的代码中,第7~9行用于生成验证码随机字符。第12~22行用于把背景字符和随机字符组装成HTML代码,输出到浏览器。