EditText格式化11位手機號輸入xxx xxxx xxxx


EditText格式化11位手機號輸入xxx xxxx xxxx

 /**
     * 格式化11位手機號碼輸入 xxx xxxx xxxx格式
     * 如果一直是添加:輸入到第三個或第8個數字時 自動空格
     * 如果是回退情況:判斷當前長度為4或9時的前一個字段是否是' ' 不是則添加
     * @param editText 輸入控件
     */

    public static void formatPhoneInput(final EditText editText){
        editText.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {

            }

            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                if (s == null || s.length() == 0return;
                StringBuilder sb = new StringBuilder(s.toString());
                if (before == 0){ //上一次是add時
                    if (sb.length() == 3 || sb.length() == 8){//自動追加空格
                        sb.append(' ');
                    }
                }
                if ((sb.length() == 4 || sb.length() == 9) && sb.charAt(sb.length()-1) != ' '){
                    sb.insert(sb.length() - 1' ');
                }

                if (!sb.toString().equals(s.toString())){
                    editText.setText(sb.toString());
                    editText.setSelection(sb.toString().length());
                }

            }

            @Override
            public void afterTextChanged(Editable s) {
            }
        });
    }

布局xml

 <EditText
        android:id="@+id/phone_input"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="100dp"
        android:layout_marginLeft="40dp"
        android:layout_marginRight="40dp"
        android:layout_gravity="center_horizontal"
        android:maxLength="13"
        android:textSize="24sp"
        android:textColorHint="#aaaaaa"
        android:textColor="@color/colorAccent"
        android:hint="請輸入11位手機號碼"
        android:inputType="number"/>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM