輸入 銀行卡號,自動添加空格, 如 6222 8888 8888 8888

    /**
     * renhaijun add
     * 輸入 銀行卡號,自動添加空格, 如 6222 8888 8888 8888
     * 24 位銀行卡有效
     *
     * @param inputStr:輸入框內 當前輸入的字符 ( 相當於 mPhoneTempStr) , beforeStr: 輸入框內 之前的字符(相當於 s)
     * @return
     */
    public static String addSpaceBankCard(String beforeStr, String inputStr) {   // 大量測試過,是正常使用的。暫無異常 renhaijun add

        LogUtil.e(TAG, " inputStr: " + inputStr);
        LogUtil.e(TAG, " inputStr.length: " + inputStr.length() + ";  ,,beforeStr.length: " + beforeStr.length() + ";");

        if ((inputStr.length() != 5 &&
                inputStr.length() != 10 &&
                inputStr.length() != 15 &&
                inputStr.length() != 20 &&
                inputStr.length() != 25 &&
                inputStr.length() != 30) ||
                (inputStr.length() - beforeStr.length() > 1) /*&& inputStr.length() <= 11*/) {  //這個判斷 用在 查找通訊錄的聯繫人,回調顯示判斷.或者是直接粘貼的判斷。

            LogUtil.e(TAG, " ----------------------------------  判斷");

            LogUtil.e(TAG, " inputStr.length: " + inputStr.length() + ";");

            String str = ReplaceStringUtil.replaceSpaceStr2(inputStr);
            StringBuffer sb = new StringBuffer();

            for (int i = 0; i < str.length(); i++) {

                if ((str.length() == 4 && i == 3) ||
                        (str.length() == 8 && i == 7) ||
                        (str.length() == 12 && i == 11) ||
                        (str.length() == 16 && i == 15) ||
                        (str.length() == 20 && i == 19) ||
                        (str.length() == 24 && i == 23)
                        ) {

                    sb.append(str.substring(i, i + 1));
                    continue;
                }

                if (i == 3 || i == 7 || i == 11 || i == 15 || i == 19 || i == 23) {

                    sb.append(str.substring(i, i + 1) + " ");
                } else {

                    sb.append(str.substring(i, i + 1));
                }
            }

            String strtemp = sb.toString();
            return strtemp;
        }

        // 下面的幾個判斷,是輸入框手動輸入時的判斷。 輸入
        if (beforeStr.length() < inputStr.length()) {

            LogUtil.e(TAG, " ----------------------------------  輸入");
            int length = inputStr.toString().length();

            if (length == 5 || length == 10 || length == 15 || length == 20 || length == 25 || length == 30) {

                if (!inputStr.toString().substring(length - 1, inputStr.length()).equals(" ")) {

                    String str = inputStr.toString().substring(0, length - 1) + " " + inputStr.toString().substring(length - 1, length);
                    return str;
                }
            }
        }

        if (beforeStr.length() > inputStr.length()) {   //刪除

            LogUtil.e(TAG, " ----------------------------------  刪除");
 

            return inputStr.toString().trim();
        }

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