轉帖|使用教程|編輯:龔雪|2021-09-01 10:10:36.087|閱讀 362 次
概述:本文主要介紹如何在SpreadJS的數據驗證中使用正則表達式進行校驗,歡迎下載相關工具體驗!
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
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時,驗證出錯:
輸入010時,驗證成功:
純前端表格控件SpreadJS,兼容 450 種以上的 Excel 公式,具備“高性能、跨平臺、與 Excel 高度兼容”的產品特性,備受華為、蘇寧易購、天弘基金等行業龍頭企業的青睞,并被中國軟件行業協會認定為“中國優秀軟件產品”。SpreadJS 可為用戶提供類 Excel 的功能,滿足表格文檔協同編輯、 數據填報、 類 Excel 報表設計等業務場景需求,極大的降低企業研發成本和項目交付風險。
本文轉載自
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: