Пример #1
0
        /// -----------------------------------------------------------------------------------------
        /// <summary>
        ///     指定文字列の全角チェック(文字数チェックなし)</summary>
        /// <param name="pstrTarget">
        ///     チェック文字列</param>
        /// <returns>
        ///     指定文字列の全角チェックを行います</returns>
        /// -----------------------------------------------------------------------------------------
        public static bool IsWideString(string pstrTarget)
        {
            int lintPostLenB = 0;                         // 文字長(バイト)

            try
            {
                // 文字数取得
                int lintPostLen = pstrTarget.Length;

                // バイト数取得
                lintPostLenB = Ans.AnsLenB(pstrTarget);

                // 1.半角混入チェック
                if ((lintPostLen * 2) != lintPostLenB)
                {
                    MessageBox.Show("半角文字が入力されています。", "入力確認",
                                    MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return(false);                       // 半角ありエラー
                }

                // チェックOK
                return(true);
            }
            catch
            {
                // チェックNG
                return(false);
            }
        }
Пример #2
0
        /// -----------------------------------------------------------------------------------------
        /// <summary>
        ///     指定文字列の郵便番号(半角)チェック</summary>
        /// <param name="pstrPostNo">
        ///     チェック文字列</param>
        /// <param name="pintMaxLenB">
        ///     全バイト数</param>
        /// <returns>
        ///     指定文字列の郵便番号チェックを行います</returns>
        /// -----------------------------------------------------------------------------------------
        public static bool IsPostNo(string pstrPostNo, int pintMaxLenB)
        {
            int lintPostLenB = 0;                     // 文字長(バイト)

            try
            {
                int lintPostLen = pstrPostNo.Length;

                // 1.文字長オーバ
                if (lintPostLen > pintMaxLenB)
                {
                    MessageBox.Show("入力文字数がオーバしています。", "入力確認",
                                    MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return(false);
                }
                // 2.全角混入チェック
                lintPostLenB = Ans.AnsLenB(pstrPostNo);       // バイト数取得
                if (lintPostLen != lintPostLenB)
                {
                    MessageBox.Show("全角文字が入力されています。", "入力確認",
                                    MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return(false);
                }
                // 3.指定文字チェック
                string lstrWK = "";             // 文字取得用
                for (int lintLoop = 0; lintLoop < lintPostLenB; lintLoop++)
                {
                    lstrWK = Ans.AnsMidB(pstrPostNo, lintLoop, 1);     // 1文字取得
                    switch (lstrWK)
                    {
                    case "-":
                    case " ":
                        break;

                    default:
                        // 数値でない場合エラー
                        if (IsIntNumber(lstrWK) == false)
                        {
                            MessageBox.Show("不正な文字が入力されています。", "入力確認",
                                            MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                            return(false);              // チェックNG
                        }
                        break;
                    }
                }
                // チェックOK
                return(true);
            }
            catch
            {
                // チェックNG
                return(false);
            }
        }
Пример #3
0
        /// -----------------------------------------------------------------------------------------
        /// <summary>
        ///     指定文字列のバイトチェック</summary>
        /// <param name="pstrChk">
        ///     チェック文字列</param>
        /// <param name="pintLenB">チェック文字数</param>
        /// <returns>
        ///     指定文字列のバイト数日付チェックを行います</returns>
        /// -----------------------------------------------------------------------------------------
        public static bool IsLenB(string pstrChk, int pintLenB)
        {
            try
            {
                // 文字長(バイト)>指定バイト数の場合、エラー
                if (Ans.AnsLenB(pstrChk) > pintLenB)
                {
                    MessageBox.Show("入力文字数がオーバしています。", "入力確認",
                                    MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return(false);
                }

                // チェックOK
                return(true);
            }
            catch
            {
                return(false);
            }
        }
Пример #4
0
        /// -----------------------------------------------------------------------------------------
        /// <summary>
        ///     指定した文字列を指定バイト数にて分割します。</summary>
        /// <param name="pstrMoji">
        ///     指定文字列(半角混在可)</param>
        /// <param name="pintLengthB">
        ///     指定バイト文字数</param>
        /// <param name="pblnDelNewLine">
        ///     改行コード分割フラグ(TRUE:分割あり、False:分割しない)</param>
        /// <returns>
        ///     分割配列にて戻します。分解できなかった場合は配列数1で空白文字を返します。</returns>
        /// -----------------------------------------------------------------------------------------
        public static string[] StringBukatuB(string pstrMoji, int pintLengthB, bool pblnDelNewLine)
        {
            List <string> lstrRet = new List <string>();            // 戻値用

            string[] lstrBunkatuWK;                                 // 改行分割文字列WK
            string   lstrEditText;
            int      lintCutByteLen;                                // 切り取り文字バイト数


            //---------------------------------------------------------------------------------------
            // ■ 戻値文字列クリア
            //---------------------------------------------------------------------------------------
            lstrRet.Clear();

            //---------------------------------------------------------------------------------------
            // ■ 該当文字を代入
            //---------------------------------------------------------------------------------------
            lstrEditText = pstrMoji;

            //---------------------------------------------------------------------------------------
            // ■ 文字長が0の場合、1文字空白を戻します
            //---------------------------------------------------------------------------------------
            if (lstrEditText.Length == 0)
            {
                return(new string[1] {
                    " "
                });
            }

            //---------------------------------------------------------------------------------------
            // ■ 改行コードがある場合、一旦改行コードにて分割します        ※引数に分割指定がある場合のみ
            //---------------------------------------------------------------------------------------
            if (pblnDelNewLine == true)
            {
                lstrBunkatuWK = lstrEditText.Replace("\r\n", "\n").Split('\n');     // 改行コードは[\n]で統一
            }
            else
            {
                lstrBunkatuWK    = new string[1];
                lstrBunkatuWK[0] = lstrEditText;
            }

            //---------------------------------------------------------------------------------------
            // ■ 改行分割後文字列を、指定文字列で分割します
            //---------------------------------------------------------------------------------------
            for (int lintIndex = lstrBunkatuWK.GetLowerBound(0); lintIndex <= lstrBunkatuWK.GetUpperBound(0); lintIndex++)
            {
                while (lstrBunkatuWK[lintIndex].Length > 0)
                {
                    // 文字列追加:指定バイトで分割
                    lstrRet.Add(Ans.AnsLeftC(lstrBunkatuWK[lintIndex], pintLengthB, out lintCutByteLen));

                    // 文字列再設定
                    if (Ans.AnsLenB(lstrBunkatuWK[lintIndex]) <= lintCutByteLen)
                    {
                        lstrBunkatuWK[lintIndex] = "";
                    }
                    else
                    {
                        lstrBunkatuWK[lintIndex] = Ans.AnsMidB(lstrBunkatuWK[lintIndex], lintCutByteLen);
                    }
                }
            }

            return(lstrRet.ToArray());
        }