純前端表格控件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 報表設計等業務場景需求,極大的降低企業研發成本和項目交付風險。

本文轉載自葡萄城

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章