Android EditText手機號格式化輸入XXX-XXXX-XXXX

來源:互聯網
上載者:User

標籤:hang   ast   cli   設定   enc   style   --   roi   狀態   

先來:

設定手機格式化操作只需要設定EditText的addTextChangedListener的監聽,下面看代碼

 /*editText輸入監聽*/        et_activity_up_login_phone.addTextChangedListener(new TextWatcher() {            @Override            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {            }            @Override            public void onTextChanged(CharSequence s, int start, int before, int count) {                if (s == null || s.length() == 0) return;                StringBuilder sb = new StringBuilder();                for (int i = 0; i < s.length(); i++) {                    if (i != 3 && i != 8 && s.charAt(i) == ‘-‘) {                        continue;                    } else {                        sb.append(s.charAt(i));                        if ((sb.length() == 4 || sb.length() == 9) && sb.charAt(sb.length() - 1) != ‘-‘) {                            sb.insert(sb.length() - 1, ‘-‘);                        }                    }                }                if (!sb.toString().equals(s.toString())) {                    int index = start + 1;                    if (sb.charAt(start) == ‘-‘) {                        if (before == 0) {                            index++;                        } else {                            index--;                        }                    } else {                        if (before == 1) {                            index--;                        }                    }                    et_activity_up_login_phone.setText(sb.toString());                    et_activity_up_login_phone.setSelection(index);                }            }            @Override            public void afterTextChanged(Editable editable) {                //擷取沒有-的手機號                endPhone = et_activity_up_login_phone.getText().toString().replace("-", "");                if (endPhone.length() == 11) {//如果最後的 號碼為11位                    //判斷手機號是否正確                    if (!Tool.isPhoneNum(endPhone)) {                        Toast.makeText(UpLoginActivity.this, "請輸入正確的手機號:" + endPhone, Toast.LENGTH_SHORT).show();                    } else {                        //改變擷取驗證碼字型顏色                        tv_activity_up_login_djs.setTextColor(Color.parseColor("#64aaff"));//高亮,可以點擊                        djsType = true;//設定驗證碼為可點擊狀態                        tv_activity_up_login_djs.setClickable(true);                    }                }            }        });    }

 

Android EditText手機號格式化輸入XXX-XXXX-XXXX

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.