簡體   English   中英

如何在 Android 中創建電話號碼格式 XXX-XXX-XXXX

[英]How To Create Phone Number Format XXX-XXX-XXXX In Android

有人可以幫我解決這個問題嗎?

我想要電話號碼之間的"-" 我試過 。 它僅顯示XXX-XXX-XXX-X格式。 但我想要XXX-XXX-XXXX格式。

下面我提到了我的代碼。

在 Oncreate 下聲明

TextView TxtDocPhone=(TextView)findViewById(R.id.TxtDocPhone);

String numbersOnly = keepNumbersOnly(Phone);
String ProviderPhone = formatNumbersAsCode(numbersOnly);

然后調用它

 private String keepNumbersOnly(CharSequence s) {
        return s.toString().replaceAll("[^0-9]", ""); 
    }

    private String formatNumbersAsCode(CharSequence s) {
        int groupDigits = 0;
        String tmp = "";
        for (int i = 0; i < s.length(); ++i) {
            tmp += s.charAt(i);
            ++groupDigits;
            if (groupDigits == 3) {
                tmp += "-";
                // tmp += "";
                groupDigits = 0;
            }
        }
        return tmp;
    }

請指導我正確的方法來實現我的目標。

試試這個方法,希望這能幫助你解決你的問題。

String formattedNumber = PhoneNumberUtils.formatNumber(unformattedNumber);

查看PhoneNumberUtils以獲取更多選項。

最后我解決了這個問題。 只需在formatNumbersAsCode函數下面添加。

 return  String.format("%s-%s-%s",s.subSequence(0,3),s.subSequence(3,6),s.subSequence(6,10));

你可以試試:

private String formatNumbersAsCode(CharSequence s) {
    return String.format("%s-%s-%s",s.substring(0,3),s.substring(3,6),s.substring(6));
}

您最好的方法是使用正則表達式

您知道您的電話號碼應該采用XXX-XXX-XXXX格式,因此您只需為此編寫一個合適的 RegEx,就可以了!

space (" ")格式化,然后替換所有的"-"字符。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM