easyui关于validatebox实现多重规则验证的方法(必看)
发布时间 - 2026-01-11 00:37:25 点击率:次方法一:

自从1.3.2版本开始,validatebox自身已经支持多重校验了,例如:
<input class="easyui-validatebox" data-options="required:true,validType:['email','length[0,20]']">
方法二:(不太好用,试了半天还是不显示第二个验证的消息)
对于1.5版本的easyui.min,注释掉以下代码:
然后再添加
$.extend($.fn.validatebox.defaults.rules, {
multiple : {
validator : function(value, vtypes) {
var returnFlag = true;
var opts = $.fn.validatebox.defaults;
for (var i = 0; i < vtypes.length; i++) {
var methodinfo = /([a-zA-Z_]+)(.*)/.exec(vtypes[i]);
var rule = opts.rules[methodinfo[1]];
if (value && rule) {
var parame = eval(methodinfo[2]);
if (!rule["validator"](value, parame)) {
returnFlag = false;
this.message = rule.message;
break;
}
}
}
return returnFlag;
}
},
length : {
validator : function(value, param) {
this.message = 'Please enter a value between {0} and {1}.';
var len = $.trim(value).length;
if (param) {
for (var i = 0; i < param.length; i++) {
this.message = this.message.replace(new RegExp(
"\\{" + i + "\\}", "g"), param[i]);
}
}
return len >= param[0] && len <= param[1];
},
message : 'Please enter a value between {0} and {1}.'
}
});
调用方法
<input class="easyui-validatebox" data-options="required:true,validType:'multiple[\'email\',\'length[0,20]\']'">
方法三:(可以实现两种验证的消息)
$.extend($.fn.validatebox.defaults.rules, {
minLength : {
validator : function (value, param) {
var rules = $.fn.validatebox.defaults.rules;
rules.minLength.message = 'Please enter at least {0} characters.';
if(!rules.email.validator(value)){
rules.minLength.message = rules.email.message;
return false;
}
if(!rules.length.validator(value,param)){
rules.minLength.message = rules.length.message;
return false;
}
return value.length >= param[0];
},
message : ''
}
});
根据方法三的试验:
$.extend($.fn.validatebox.defaults.rules, {
//再次输入密码效验(与上一次一样;密码介于6-16位)
checkpwd: {
validator: function (value, param) {
var rules = $.fn.validatebox.defaults.rules;
rules.checkpwd.message = 'Please enter at least {0} characters.';
if (!rules.passequals.validator(value,param)) {
rules.checkpwd.message = rules.passequals.message;
return false;
}
if (!rules.minlength.validator(value)) {
rules.checkpwd.message = rules.minlength.message;
return false;
}
return value.length >= param[0];
},
message: ''
},
passequals: {
validator: function (value, param) {
return value == $(param[0]).val();
},
message: '两次密码不一致.'
},
minlength: {
validator: function (value) {
var len = $.trim(value).length;
return len >=6 && len <= 16;
},
message: "输入内容长度必须介于6和16之间."
}
});
调用:(注意pwd两边不能写引号)
<input id="pwd" name="pwd" type="password" class="easyui-validatebox" /> <input id="rpwd" name="rpwd" type="password" class="easyui-validatebox" data-options="validType:'checkpwd[pwd]'" />
附录: 可以参考的验证规则:
idcard: {// 验证身份证
validator: function (value) {
return /^\d{15}(\d{2}[A-Za-z0-9])?$/i.test(value);
},
message: '身份证号码格式不正确'
},
minLength: {
validator: function (value, param) {
return value.length >= param[0];
},
message: '请输入至少(2)个字符.'
},
length: { validator: function (value, param) {
var len = $.trim(value).length;
return len >= param[0] && len <= param[1];
},
message: "输入内容长度必须介于{0}和{1}之间."
},
phone: {// 验证电话号码
validator: function (value) {
return /^((\d{2,3})|(\d{3}\-))?(0\d{2,3}|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/i.test(value);
},
message: '格式不正确,请使用下面格式:020-88888888'
},
mobile: {// 验证手机号码
validator: function (value) {
return /^(13|15|18)\d{9}$/i.test(value);
},
message: '手机号码格式不正确'
},
intOrFloat: {// 验证整数或小数
validator: function (value) {
return /^\d+(\.\d+)?$/i.test(value);
},
message: '请输入数字,并确保格式正确'
},
currency: {// 验证货币
validator: function (value) {
return /^\d+(\.\d+)?$/i.test(value);
},
message: '货币格式不正确'
},
qq: {// 验证QQ,从10000开始
validator: function (value) {
return /^[1-9]\d{4,9}$/i.test(value);
},
message: 'QQ号码格式不正确'
},
integer: {// 验证整数 可正负数
validator: function (value) {
//return /^[+]?[1-9]+\d*$/i.test(value);
return /^([+]?[0-9])|([-]?[0-9])+\d*$/i.test(value);
},
message: '请输入整数'
},
age: {// 验证年龄
validator: function (value) {
return /^(?:[1-9][0-9]?|1[01][0-9]|120)$/i.test(value);
},
message: '年龄必须是0到120之间的整数'
},
chinese: {// 验证中文
validator: function (value) {
return /^[\Α-\¥]+$/i.test(value);
},
message: '请输入中文'
},
english: {// 验证英语
validator: function (value) {
return /^[A-Za-z]+$/i.test(value);
},
message: '请输入英文'
},
unnormal: {// 验证是否包含空格和非法字符
validator: function (value) {
return /.+/i.test(value);
},
message: '输入值不能为空和包含其他非法字符'
},
username: {// 验证用户名
validator: function (value) {
return /^[a-zA-Z][a-zA-Z0-9_]{5,15}$/i.test(value);
},
message: '用户名不合法(字母开头,允许6-16字节,允许字母数字下划线)'
},
faxno: {// 验证传真
validator: function (value) {
// return /^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/i.test(value);
return /^((\d{2,3})|(\d{3}\-))?(0\d{2,3}|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/i.test(value);
},
message: '传真号码不正确'
},
zip: {// 验证邮政编码
validator: function (value) {
return /^[1-9]\d{5}$/i.test(value);
},
message: '邮政编码格式不正确'
},
ip: {// 验证IP地址
validator: function (value) {
return /d+.d+.d+.d+/i.test(value);
},
message: 'IP地址格式不正确'
},
name: {// 验证姓名,可以是中文或英文
validator: function (value) {
return /^[\Α-\¥]+$/i.test(value) | /^\w+[\w\s]+\w+$/i.test(value);
},
message: '请输入姓名'
},
date: {// 验证姓名,可以是中文或英文
validator: function (value) {
//格式yyyy-MM-dd或yyyy-M-d
return /^(?:(?!0000)[0-9]{4}([-]?)(?:(?:0?[1-9]|1[0-2])\1(?:0?[1-9]|1[0-9]|2[0-8])|(?:0?[13-9]|1[0-2])\1(?:29|30)|(?:0?[13578]|1[02])\1(?:31))|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)([-]?)0?2\2(?:29))$/i.test(value);
},
message: '清输入合适的日期格式'
},
msn: {
validator: function (value) {
return /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(value);
},
message: '请输入有效的msn账号(例:abc@hotnail(msn/live).com)'
},
same: {
validator: function (value, param) {
if ($("#" + param[0]).val() != "" && value != "") {
return $("#" + param[0]).val() == value;
} else {
return true;
}
},
message: '两次输入的密码不一致!'
}
以上这篇easyui关于validatebox实现多重规则验证的方法(必看)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
# easyui
# validatebox
# jQuery EasyUI之验证框validatebox实例详解
# Jquery Easyui验证组件ValidateBox使用详解(20)
# jquery easyui validatebox remote的使用详解
# easyui validatebox验证
# jQuery easyui的validatebox校验规则扩展及easyui校验框validateb
# jQuery插件EasyUI校验规则 validatebox验证框
# 请输入
# 不正确
# 英文
# 两次
# 给大家
# 不太
# 两种
# 下划线
# 半天
# 希望能
# 请使用
# 第二个
# 然后再
# 英语
# 可以实现
# 这篇
# 好用
# 传真号码
# 必看
# 试了
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
javascript中闭包概念与用法深入理解
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
jQuery 常见小例汇总
HTML 中动态设置元素 name 属性的正确语法详解
如何获取免费开源的自助建站系统源码?
Laravel如何实现API版本控制_Laravel API版本化路由设计策略
如何在Windows虚拟主机上快速搭建网站?
如何在万网主机上快速搭建网站?
香港网站服务器数量如何影响SEO优化效果?
Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境
活动邀请函制作网站有哪些,活动邀请函文案?
为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】
香港服务器WordPress建站指南:SEO优化与高效部署策略
如何在腾讯云免费申请建站?
如何选择可靠的免备案建站服务器?
JavaScript常见的五种数组去重的方式
如何在腾讯云服务器快速搭建个人网站?
网页设计与网站制作内容,怎样注册网站?
HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】
头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?
详解MySQL数据库的安装与密码配置
zabbix利用python脚本发送报警邮件的方法
Laravel怎么使用Markdown渲染文档_Laravel将Markdown内容转HTML页面展示【实战】
企业网站制作这些问题要关注
Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程
如何快速生成高效建站系统源代码?
高性能网站服务器部署指南:稳定运行与安全配置优化方案
如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】
Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】
Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】
Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧
Laravel如何创建自定义Artisan命令?(代码示例)
如何快速生成凡客建站的专业级图册?
PHP 500报错的快速解决方法
如何自定义建站之星网站的导航菜单样式?
php结合redis实现高并发下的抢购、秒杀功能的实例
网站制作企业,网站的banner和导航栏是指什么?
如何登录建站主机?访问步骤全解析
长沙企业网站制作哪家好,长沙水业集团官方网站?
Laravel如何编写单元测试和功能测试?(PHPUnit示例)
Windows10怎样连接蓝牙设备_Windows10蓝牙连接步骤【教程】
Laravel Session怎么存储_Laravel Session驱动配置详解
Laravel怎么调用外部API_Laravel Http Client客户端使用
Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询
ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】
如何用PHP快速搭建高效网站?分步指南
怎么用AI帮你为初创公司进行市场定位分析?
Laravel如何记录自定义日志?(Log频道配置)
Thinkphp 中 distinct 的用法解析
Python自动化办公教程_ExcelWordPDF批量处理案例

