Jquery 扩展验证
官方地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation/
/* 设置默认属性 */
$.validator.setDefaults({
submitHandler: function(form) { form.submit(); }
});
// 中文字两个字节
jQuery.validator.addMethod("byteRangeLength", function(value, element, param) {
var length = value.length;
for (var i = 0; i < value.length; i++){
if (value.charCodeAt(i) > 127){
length++;
}
}
return this .optional(element) || ( length >= param[0] && length <= param[1] );
}, "请确保输入的值在3-15个字节之间(一个中文字算2个字节)");
/* 追加自定义验证方法 */
// 身份证号码验证
Query.validator.addMethod("isIdCardNo", function(value, element) {
return this .optional(element) || isIdCardNo(value);
}, "请正确输入您的身份证号码");
// 字符验证
jQuery.validator.addMethod("userName", function(value, element) {
return this .optional(element) || /^[\u0391-\uFFE5\w]+$/.test(value);
}, "用户名只能包括中文字、英文字母、数字和下划线");
// 手机号码验证
jQuery.validator.addMethod("isMobile", function(value, element) {
var length = value.length;
return this .optional(element) || (length == 11 && /^(((13[0-9]{1})|(15[0-9]{1}))+\d{8})$/.test(value));
}, "请正确填写您的手机号码");
// 电话号码验证
jQuery.validator.addMethod("isPhone", function(value, element) {
var tel = /^(\d{3,4}-?)?\d{7,9}$/g;
return this .optional(element) || (tel.test(value));
}, "请正确填写您的电话号码");
// 邮政编码验证
jQuery.validator.addMethod("isZipCode", function(value, element) {
var tel = /^[0-9]{6}$/;
return this .optional(element) || (tel.test(value));
}, "请正确填写您的邮政编码");
$(regFrom).validate({
/* 设置验证规则 */
rules: {userName: { required: true , userName: true , byteRangeLength: [3,15] }, password: { required: true , minLength: 5 }, repassword: { required: true , minLength: 5, equalTo: "#password" }, question: { required: true }, answer: { required: true }, realName: { required: true }, cardNumber: { isIdCardNo: true }, mobilePhone: { isMobile: true }, phone: { isPhone: true }, email: { required: true , email: true }, zipCode: { isZipCode:true } },
/* 设置错误信息 */ messages: {
userName: {required: "请填写用户名", byteRangeLength: "用户名必须在3-15个字符之间(一个中文字算2个字符)" }, password: { required:"请填写密码", minlength: jQuery.format("输入{0}.") }, repassword: { required: "请填写确认密码", equalTo: "两次密码输入不相同" }, question: { required: "请填写您的密码提示问题" }, answer: { required: "请填写您的密码提示答案" }, realName: { required: "请填写您的真实姓名" }, email: { required: "请输入一个Email地址", email: "请输入一个有效的Email地址" } },
/* 错误信息的显示位置 */errorPlacement: function(error, element) {
error.appendTo( element.parent() ); },
/* 验证通过时的处理 */ success: function(label) { // set as text for IElabel.html(" ").addClass("checked"); },
/* 获得焦点时不验证 */ focusInvalid: false , onkeyup: false
});
// 输入框获得焦点时,样式设置
$('input').focus(function(){
if ($(this ).is(":text") || $(this ).is(":password"))
$(this ).addClass('focus');
if ($(this ).hasClass('have_tooltip')) {
$(this ).parent().parent().removeClass('field_normal').addClass('field_focus');
}
});
// 输入框失去焦点时,样式设置
$('input').blur(function() {
$(this ).removeClass('focus');
if ($(this ).hasClass('have_tooltip')) {
$(this ).parent().parent().removeClass('field_focus').addClass('field_normal');
}
});
jQuery用户手册:http://jquery.org.cn/visual/cn/index.xml
$(document).ready(function(){
/* 设置默认属性 */
$.validator.setDefaults({
submitHandler: function(form) { form.submit(); }
});
// 中文字两个字节
jQuery.validator.addMethod("byteRangeLength"
var length = value.length;
length++;
}
}
}, "请确保输入的值在3-15个字节之间(一个中文字算2个字节)"
/* 追加自定义验证方法 */
// 身份证号码验证
Query.validator.addMethod("isIdCardNo"
}, "请正确输入您的身份证号码"
// 字符验证
jQuery.validator.addMethod("userName"
}, "用户名只能包括中文字、英文字母、数字和下划线"
// 手机号码验证
jQuery.validator.addMethod("isMobile"
var length = value.length;
}, "请正确填写您的手机号码"
// 电话号码验证
jQuery.validator.addMethod("isPhone"
var tel = /^(\d{3
}, "请正确填写您的电话号码"
// 邮政编码验证
jQuery.validator.addMethod("isZipCode"
var tel = /^[0
}, "请正确填写您的邮政编码"
$(regFrom).validate({
/* 设置验证规则 */
rules: {
/* 设置错误信息 */
userName: {
/* 错误信息的显示位置 */
/* 获得焦点时不验证 */
});
// 输入框获得焦点时,样式设置
$('input'
$(
$(
}
});
// 输入框失去焦点时,样式设置
$('input'
$(
$(
}
});
});
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步