1. 概述
1.1 應用場景
有時用戶希望填報控件中輸入的字符串必須符合一定的格式,若不滿足格式則彈出警告提醒,如下圖所示:
1.2 實現思路
在控件的編輯結束事件中,定義好符号标準的字符串的正則表達式,然後使用JS的test方法判斷控件的值與正則表達式是否匹配。
test方法的意義是返回一個 Boolean 值,它指出在被查找的字符串中是否存在某種模式,存在則返回 true,否則返回 false;
使用方式爲:rgexp.test(str),其中 rgexp 表示包含正則表達式模式或可用标志的正則表達式對象,str 表示要在其上測試查找的字符串。
2. 示例
2.1 報表設計
在A1單元格輸入發文字号,并在B1單元格中添加文本控件,如下所示:
2.2 定義正則表達式
定義一個标準的發文字号,由發文機關代字、發文年份和文件順序号三個部分組成,對應的正則表達式爲:[\u4e00-\u9fa5]\(\d{4}\)[1-9]\d*号$
2.3 添加事件
選中B1單元格的文本控件,爲控件添加編輯結束事件,如下圖所示:
具體JS 如下:
var ch = this.getValue();
var patrn = /[\u4e00-\u9fa5]\(\d{4}\)[1-9]\d*号$/;
if(!patrn.test(ch)){
FR.Msg.alert(FR.i18n.Alert, "文号格式錯誤,正确文号如:國土資函(2010)88号");
return false;
}
2.4 效果預覽
保存并點擊填報預覽,如果文本框中輸入的内容不符合正則表達式:[\u4e00-\u9fa5]\(\d{4}\)[1-9]\d*号$,就會彈出警告如下所示:
注:不支持移動端