参考资料

http://blog.csdn.net/jumtre/article/details/38510975

http://blog.csdn.net/lybwwp/article/details/9028741/

方法一:

自从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-dreturn /^(?:(?!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: '两次输入的密码不一致!'}

转载于:https://www.cnblogs.com/John-Marnoon/p/6029831.html

easyui关于validatebox实现多重规则验证的实践相关推荐

  1. easyui的validatebox重写自定义验证规则的几个实例

    validatebox已经实现的几个规则: 验证规则是根据使用需求和验证类型属性来定义的,这些规则已经实现(easyui API): email:匹配E-Mail的正则表达式规则. url:匹配URL ...

  2. Office 365启用多重身份验证

    默认在Office 365中都是使用密码登录,但难免密码会泄露,导致信息的泄露,那么微软Office 365的Azure AD是可以支持多因子身份验证的,也就是这里的多重身份验证,如何开启呢?效果怎样 ...

  3. 在.NET Core 中使用 FluentValidation 进行规则验证

    不用说,规则验证很重要,无效的参数,可能会导致程序的异常. 如果使用Web API或MVC页面,那么可能习惯了自带的规则验证,我们的控制器很干净: public class User {[Requir ...

  4. azure云数据库_在Azure SQL数据库中配置多重身份验证

    azure云数据库 介绍 (Introduction) The new SSMS 17.2 allows users to authenticate using Active Directory wi ...

  5. 无密码多重身份验证(MFA)2022年全球行业分析报告

    本文研究全球市场.主要地区和主要国家无密码多重身份验证(MFA)的销量.销售收入等,同时也重点分析全球范围内主要厂商(品牌)竞争态势,无密码多重身份验证(MFA)销量.价格.收入和市场份额等.   针 ...

  6. excel批量导入规则验证

    /*** excel导入*/public function excelimport(){$eid = I('get.eid','','htmlspecialchars');//判断是否选择了要上传的表 ...

  7. [ Azure - Security ] Azure的多重身份验证(二):在Azure portal 登陆时候设置MFA/2FA验证

    现在很多大型的组织网站,包括Google.微软所有系.Twitter.Facebook.GitHub等都有2FA验证,也就是我们常说的双重验证登陆.本文会介绍微软Azure Portal里的多重验证设 ...

  8. 【2016年第6期】俄罗斯跨境数据流动立法规则与执法实践

    何波 中国信息通信研究院互联网法律研究中心,北京 100191 摘要:伴随着全球数字经济的迅猛发展,跨境数据流动监管越来越成为各方关切的焦点,俄罗斯出于安全考虑成为对跨境数据流动严格限制的代表国家.从 ...

  9. 深度学习技巧应用7-K折交叉验证的实践操作

    大家好,我是微学AI,今天给大家介绍一下深度学习技巧应用7-K折交叉验证的实践操作.K折交叉验证是一种机器学习中常用的模型验证和选择方式,它可以将数据集分为K个互斥的子集,其中K-1个子集作为训练集, ...

  10. EasyUI表单验证,自定义插件验证,自定义js插件验证,远程验证,常见手机号,中英文,qq等验证规则验证...

     { field : 'startPort', title : "起始端口", editor: "text", width : 50, editor: { ...

最新文章

  1. 【Python】分享14条非常实用的Pandas函数方法,建议珍藏!!
  2. python字典程序题_急!一道关于python字典的编程题!求思路!
  3. group by 后面加条件_无论炖什么肉,只要加这“两种”调料,肉质鲜嫩入味,越炖越香...
  4. oracle 存储过程循环打开游标数据处理
  5. 身份证号有效性检验代码 (python)
  6. 云服务器学习linux_云服务器怎么选linux系统
  7. dgl._ffi.base.DGLError: Cannot assign node feature “n_feat“ on device cuda:0 to a graph on device
  8. html{-webkit-text-size-adjust:none;}(取消浏览器最小字体限制)
  9. 什么是医疗健康管理系统?
  10. php工具箱mysql启动不_解决php工具箱(phpStudy)Apache启动成功,MySql无法启动的问题...
  11. 人工晶状体在线公式A常数优化——多线程
  12. js表单提交的三种方式
  13. PostgreSQL的全文检索(一)
  14. linux 开启rsh权限,开启rsh服务
  15. LINGO Error Code 122 和 237 出现原因及其解决方法
  16. 宇视摄像头尾线防水处理
  17. 拼多多关键词搜索接口,item_search - 根据关键词取拼多多商品列表接口解决方案
  18. 5.brackets 快捷键 有大用
  19. 怎么查看任务管理器中,浏览器进程对应的是哪个网页?
  20. 智能手表好处有多少?荣耀产品开箱“惊人”

热门文章

  1. 如何调试一个无法重现的错误?
  2. Open***服务器端配置文件server.conf的说明
  3. Gartner预测公有云将迎来“双头垄断”局面
  4. MySQL 启动服务和登陆参数
  5. Android Span 进阶
  6. rem 产生的小数像素问题
  7. python-pip : Depends: python-setuptools (= 0.6c1) 问题
  8. Php与Mysql关系揭秘
  9. 剑指offer 29 多于一半的数
  10. concat oracle 多个字符串_12个常用的JavaScript字符串方法