2026年6月30日 星期二

V1060302 – 檢核飛行小時的格式(hhhhhh:mm) - regex - 允許前導空白,小時可為負數,1~6 位數字 + 冒號 + 2 位數字

 目的: V1060302 – 檢核飛行小時的格式(hhhhhh:mm) - regex
           - 允許前導空白,小時可為負數,1~6 位數字+冒號+2 位數字
                  Ex:   123:30  ,  -123:30 ,000123:30   均可

處理說明:  1> 格式:6 位數字 + 冒號 + 2 位數字
                        const regex = /^\d{6}:\d{2}$/;       
                        regex.text(value) ; //若value正確,則傳回 true , 否則 false 
                   2>格式 :     // 允許前導空白,小時可為負數,1~6 位數字 + 冒號 + 2 位數字       
                        const regex = /^\s*-?\d{1,6}:\d{2}$/;
                        regex.text(value) ; //若value正確,則傳回 true , 否則 false 


1>*.js
//STEP1.5>檢核[小時]格式是否符合 hhhhhh:mm    
    function CHECK_TMFIELD() {        
        var Tmp_isok = true;
        // 格式:6 位數字 + 冒號 + 2 位數字
        //const regex = /^\d{6}:\d{2}$/;       
        // 允許前導空白,小時可為負數,1~6 位數字 + 冒號 + 2 位數字       
        const regex = /^\s*-?\d{1,6}:\d{2}$/;
        //1>檢核[上次總飛行小時(L_FLYHR)
        var Tmp_L_FLYHR = Ext.getCmp("L_FLYHR").getValue().trim();
        if (Tmp_L_FLYHR.length > 0) {
        Tmp_isok = regex.test(Tmp_L_FLYHR);
        if (!Tmp_isok) {
            Tmp_Str = "[上次總飛行小時(" + Tmp_L_FLYHR + ")格式(hhhhhh:mm)不符<br>"
                + "敬請檢核!! ";
            mywarnalert(Tmp_Str);
            return Tmp_isok;
        }
        const [hours, minutes] = Tmp_L_FLYHR.trim().split(":");
        Tmp_isok = parseInt(minutes, 10) >= 0 && parseInt(minutes, 10) <= 59;
        if (!Tmp_isok) {
            Tmp_Str = "[上次總飛行小時(" + Tmp_L_FLYHR + ")格式(hhhhhh:mm)不符<br>"
                + "分鐘數字不符<br>"
                +"敬請檢核!! ";
            mywarnalert(Tmp_Str);
            return Tmp_isok;
            }
        }  // end of  if (Tmp_L_FLYHR.length > 0) {






沒有留言:

張貼留言