Kendo UI for jQuery入门级教程:Spreadsheet - 创建基于RegExp的自定义验证

Kendo UI for jQuery最新版工具下载

Spreadsheet的验证类型不直接基于RegExp的规则。

要解决此问题,请使用允许您传递任何公式的自定义验证类型。 当公式返回非假值时,验证将通过。 虽然内置函数不包括 RegExp 匹配函数,但自定义函数很容易创建

<script>
// Define a REGEXP_MATCH function that returns true if a string
// matches a given pattern (regexp).
kendo.spreadsheet.defineFunction("REGEXP_MATCH", function(str, pattern, flags){
var rx;
try {
rx = flags ? new RegExp(pattern, flags) : new RegExp(pattern);
} catch(ex) {
// could not compile regexp, return some error code
return new kendo.spreadsheet.CalcError("REGEXP");
}
return rx.test(str);
}).args([
[ "str", "string" ],
[ "pattern", "string" ],
[ "flags", [ "or", "string", "null" ] ]
]);
</script>

<div id="spreadsheet"></div>

<script>
var spreadsheet = $("#spreadsheet").kendoSpreadsheet({
columnWidth: 100
}).getKendoSpreadsheet();

var sheet = spreadsheet.activeSheet();

sheet.range("A1").value("IP Address in B1:");

// Using custom validation, you can pass any formula and the cell
// validates if the formula returns a non-false value (see the `from` field).
sheet.range("B1").validation({
comparerType: "custom",
dataType: "custom",
from: 'REGEXP_MATCH(B1, "^[0-9]{1,3}\\\\.[0-9]{1,3}\\\\.[0-9]{1,3}\\\\.[0-9]{1,3}$")'
});

// Note the difficulty of properly quoting a regexp in a string.
// An alternative would be to write the regexp in a
// variable and encode it with JSON.stringify, i.e.:
//
// var rx = "^[0-9]{1,3}\\.[0-9]{1,3}\\." etc
//
// and then pass it like this
//
// from: '=REGEXP_MATCH(B1, ' + JSON.stringify(rx) + ')'

</script>

Kendo UI for jQuery | 下载试用

Kendo UI for jQuery是完整的jQuery UI组件库,可快速构建出色的高性能响应式Web应用程序。Kendo UI for jQuery提供在短时间内构建现在Web应用程序所需要的一切,从多个UI组件中选择,并轻松地将它们组合起来,创建出酷炫响应式的应用程序,同时将开发时间加快了50%。


了解最新Kendo UI最新资讯,请关注Telerik中文网!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值