📅  最后修改于: 2023-12-03 15:36:30.285000             🧑  作者: Mango
jbvalidator 是一个基于 jQuery 的表单验证插件,可以在表单提交前对表单元素进行验证,从而保证输入数据的合法性。它支持多种验证方式,包括必填、最小长度、最大长度、邮箱、手机号、身份证号等。
你可以从 jbvalidator 的官网 下载插件,也可以从 GitHub 上获取源码。
在 HTML 文件中引入插件的 js 和 css 文件。
<head>
<link rel="stylesheet" href="path/to/jbvalidator.min.css">
</head>
<body>
<form>
<!-- form elements -->
</form>
<script src="path/to/jquery.min.js"></script>
<script src="path/to/jbvalidator.min.js"></script>
</body>
在 JS 文件中定义表单验证规则,并将其应用到对应的 form 对象上。
<form id="my-form">
<input type="text" name="username" data-validate="required">
<input type="password" name="password" data-validate="required&minLength[6]">
<input type="email" name="email" data-validate="required&email">
<input type="tel" name="phone" data-validate="required&phone">
<input type="text" name="idcard" data-validate="idcard">
<button type="submit">提交</button>
</form>
<script>
$('#my-form').jbvalidator({
errorMessageHandler: function ($input, message) {
// customize error message display
},
success: function () {
// form validation passed
},
fail: function () {
// form validation failed
}
});
</script>
在上面的例子中,我们给表单中的各个元素添加了不同的验证规则:
required
表示必填项;minLength[6]
表示最小长度为 6;email
表示邮箱地址;phone
表示电话号码;idcard
表示身份证号。还可以通过 errorMessageHandler
自定义错误信息的显示方式,通过 success
和 fail
分别设置验证通过和验证失败的回调函数。
<input type="text" name="username" data-validate="required">
<input type="text" name="password" data-validate="minLength[6]">
<input type="text" name="password" data-validate="maxLength[12]">
<input type="email" name="email" data-validate="email">
<input type="tel" name="phone" data-validate="phone">
<input type="text" name="idcard" data-validate="idcard">
<input type="text" name="password" data-validate="regex[/^[a-z]+$/]">
除了内置的验证方法,你还可以自定义验证方法:
<form id="my-form">
<input type="password" name="password" data-validate="required&checkPassword">
<button type="submit">提交</button>
</form>
<script>
$.validator.addMethod('checkPassword', function (value, element, param) {
return value === param;
}, '两次密码不一致');
$('#my-form').jbvalidator();
</script>
在上面的例子中,我们自定义了一个名为 checkPassword
的验证方法,用于验证两次密码是否一致。在表单元素的 data-validate
属性中调用该方法。