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時,驗證出錯:
輸入010時,驗證成功:
純前端表格控件SpreadJS,兼容 450 種以上的 Excel 公式,具備“高性能、跨平台、與 Excel 高度兼容”的産品特性,備受華為、蘇甯易購、天弘基金等行業龍頭企業的青睐,并被中國軟件行業協會認定為“中國優秀軟件産品”。SpreadJS 可為用戶提供類 Excel 的功能,滿足表格文檔協同編輯、 數據填報、 類 Excel 報表設計等業務場景需求,極大的降低企業研發成本和項目交付風險。
本文轉載自葡萄城
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!