原文转至http://www.itivy.com/ivy/archive/2011/2/20/634338371453673322.html
用户注册是一个用得非常广泛的模块,不知道大家有没有遇到过这样的网站,你要提交一张表单,填了很多项,结果一提交就刷新页面,后来提示你用户名已 存在或验证码不正确等错误,等你回过头来,表单里的很多项又得重新填写,很烦那。如果有一种方法能使你在提交表单前验证各项是否符合系统要求,那可以为用 户节省很多时间,打打提高了用户体验。
接下来我向大家介绍一款自动表单验证插件formValidator,漂亮的验证结果提示、可扩展正则式支持、支持ajax验证、还支持自定义验证方案。先来看看大致效果,文章最后还会提供demo供大家学习参考

在html文件中引入formValidator插件主脚本和样式文件,因为是基于jquery的,别忘记把jquery的主库脚本引入:
<link type="text/css" rel="stylesheet" href="/Scripts/FormValidator/style/validator.css" /> <link type="text/css" rel="stylesheet" href="/Scripts/css.css" /> <script type="text/javascript" src="/Scripts/jquery-1.4.1.min.js"></script> <script type="text/javascript" src="/Scripts/FormValidator/formValidator.js"></script>
<form id="RegisterForm" action="/SubmitResult.aspx" method="post">
<div class="block tip">
<span class="pre_tip">注册邮箱:</span><input type="text" id="TxtEmail" name="TxtEmail"
class="input_text" /><span id="TxtEmailTip" class="fv_tip" style=" 280px"></span>
</div>
<div class="block tip">
<span class="pre_tip">注册昵称:</span><input type="text" id="TxtName" name="TxtName"
class="input_text" /><span id="TxtNameTip" class="fv_tip" style=" 280px"></span>
</div>
<input type="submit" value="提交" class="input_btn" style="margin-left:50px" />
</form>
<script type="text/javascript">
$(document).ready(function () {
$.formValidator.initConfig({ formid: "RegisterForm", onerror: function (msg) { }, onsuccess: function () { } });//初始化,不可少
$("#TxtEmail").formValidator({ onshow: "", onfocus: "可用来找回密码,必须真实有效", oncorrect: "正确" })
.inputValidator({ min: 2, max: 100, onerror: "你输入的邮箱长度非法,请确认" })
.regexValidator({ regexp: "^([\w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([\w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$", onerror: "你输入的邮箱格式不正确" })
.ajaxValidator({
type: "post",
url: "/ajax.ashx",
datatype: "text/plain",
success: function (data) {
if (data=="1")
return true;
else {
this.onerror = data;
return false
}
},
error: function () { alert("服务器没有返回数据,可能服务器忙,请重试"); },
buttons: $("#BtnRegister"),
onwait: "正在对注册邮箱合法性校验,请稍候..."
});
$("#TxtName").formValidator({ onshow: "", onfocus: "昵称必须是2-16个中文、数字、字母、下划线", oncorrect: "正确" })
.inputValidator({ min: 2, max: 16, onerror: "昵称长度为2-16,请确认" })
.regexValidator({ regexp: "^[\u4E00-\u9FA5\uF900-\uFA2D-\w]+$", onerror: "昵称必须是2-16个中文、数字、字母、下划线" });
})
</script>