2023年2月16日 星期四

V120102 - 判斷輸入欄位值是否含中文字

 目的: V120102 - 判斷輸入欄位值是否含中文字

處理說明:  1>中文字的內碼  0x4E00~0x9FBB
                   2>檢核每一字元的內碼是否在中文字範圍內 (0x4E00-0x9FBB)


1>*.cs  -判斷字串是否含中文字的函式 
    1>>myfunc.cs  - ContainChinese(string input)  
          - 若含中文字,則傳回 true, 否則 傳回 false
        public static bool ContainChinese(string input)
        {
            string pattern = "[\u4e00-\u9fbb]";
            return Regex.IsMatch(input, pattern);
        }

   2>>V120102APIController.cs
         //[條碼編碼]不可為中文字                            
          if (myfunc.ContainChinese(Tmp_DCODE))
             {
                 Tmp_RtnMsg1 = Tmp_RtnMsg1 + "[條碼編碼]不可含中文字;";
             }                            

2>*.js  V120102.js  -按[存檔]鈕, 判斷字串是否含中文字的函式 
      Ext.getCmp('btn_save').checkFormValue = function () {
        //1>檢核 [條碼編號(DCODE)] 不可含中文字
        console.log(" Ext.getCmp('btn_save').checkFormValue : ");
        var Tmp_Str = Ext.getCmp("DCODE").getValue();
        console.log(" DCODE : ", Tmp_Str);
        for (var i = 0; i < Tmp_Str.length; i++) {
            console.log("char i : ", i);
            if (Tmp_Str.charCodeAt(i) >= 0x4E00 & Tmp_Str.charCodeAt(i) <= 0x9FA5) {
                Tmp_Str = "[條碼編碼("+Tmp_Str+")]不可含中文字,請重新輸入"
                mywarnalert(Tmp_Str);                
                return false;
            }
        }





PS:
/* unicode 判斷是否為中文字
中文:/^[\u4E00-\u9FA5]+$/
數字:/^d+$/(是非負整數哦)
字母:/^[a-zA-Z]{1,30}$/(1到30個以字母串)
*/

沒有留言:

張貼留言