纯前端表格控件SpreadJS使用教程 - 使用正则表达式进行校验

点击获取SpreadJS工具下载

SpreadJS中支持跟Excel一样的数据验证用来校验输入数据的正确性。而正则表达式是在日常开发中经常用的校验手段。Excel本身不支持数据验证时设置一个正则表达式来进行校验。但是SpreadJS具有高度灵活的优点,通过相应的扩展可以实现使用正则表达式来进行数据验证。接下来我们将一步一步实现这样的操作:在设置之前我们首先要在代码中重写条件格式的相关条件设置,代码如下:

创建一个用于正则校验的条件格式原型,原型继承GC.Spread.Sheets.ConditionalFormatting.Condition,之后重写evaluate方法。

function MyCondition (reg){
this.reg = reg;
GC.Spread.Sheets.ConditionalFormatting.Condition.apply(this, arguments);
}
MyCondition.prototype = new GC.Spread.Sheets.ConditionalFormatting.Condition();
MyCondition.prototype.evaluate = function (evaluator, baseRow, baseColumn, actualObj) {
var reg = new RegExp(this.reg);
if (reg.test(actualObj)) {
return true;
}else{
return false;
}
};

SpreadJS数据验证支持DefaultDataValidator这种默认数据验证,创建时需要添加一个条件规则。这里的条件规则中我们就可以传入验证的正则表达式。代码如下所示:

首先,我们创建一个条件规则,并将正则表达式当做参数传入。

var nCondition = new MyCondition("^[0-9]*[1-9][0-9]*$");

示例中我们的正则验证的是可以包含0开头但不能为0的一串数字。接下来创建一个DefaultDataValidator默认数据验证,并将上一步生成的条件规则对象传入。

var validator = new GC.Spread.Sheets.DataValidation.DefaultDataValidator(nCondition);

之后,设置数据验证的类型为GC.Spread.Sheets.DataValidation.CriteriaType.custom 即自定义类型。

validator.type(GC.Spread.Sheets.DataValidation.CriteriaType.custom);

这样就完成了正则数据验证的创建。最后我们仍然通过设置数据验证的setDataValidator方法进行数据验证的设置,效果如下:

当我们在单元格中输入000时,验证出错:

如何在SpreadJS的数据验证中使用正则表达式进行校验?

输入010时,验证成功:

如何在SpreadJS的数据验证中使用正则表达式进行校验?

SpreadJS | 下载试用

纯前端表格控件SpreadJS,兼容 450 种以上的 Excel 公式,具备“高性能、跨平台、与 Excel 高度兼容”的产品特性,备受华为、苏宁易购、天弘基金等行业龙头企业的青睐,并被中国软件行业协会认定为“中国优秀软件产品”。SpreadJS 可为用户提供类 Excel 的功能,满足表格文档协同编辑、 数据填报、 类 Excel 报表设计等业务场景需求,极大的降低企业研发成本和项目交付风险。

本文转载自葡萄城

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值