简体   繁体   English

如何在 Android 中创建电话号码格式 XXX-XXX-XXXX

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

Can anybody help me to solve this problem ?有人可以帮我解决这个问题吗?

I want "-" between phone numbers.我想要电话号码之间的"-" I tried .我试过 。 It shows XXX-XXX-XXX-X Formats only .它仅显示XXX-XXX-XXX-X格式。 But i want XXX-XXX-XXXX Format .但我想要XXX-XXX-XXXX格式。

Here Below I have mentioned my code.下面我提到了我的代码。

Declare This under Oncreate在 Oncreate 下声明

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

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

Then call it然后调用它

 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;
    }

Please guide me the correct way to achieve my objective.请指导我正确的方法来实现我的目标。

Try this way,hope this will help you to solve your problem.试试这个方法,希望这能帮助你解决你的问题。

String formattedNumber = PhoneNumberUtils.formatNumber(unformattedNumber);

Take a look at PhoneNumberUtils for more options.查看PhoneNumberUtils以获取更多选项。

Finally i solve this issue .最后我解决了这个问题。 Just add below this in formatNumbersAsCode function .只需在formatNumbersAsCode函数下面添加。

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

You can try:你可以试试:

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

You best way to go is to use Regular Expressions .您最好的方法是使用正则表达式

You know your phone number should have the format XXX-XXX-XXXX , so you just write an appropriate RegEx for this, and you are fine!您知道您的电话号码应该采用XXX-XXX-XXXX格式,因此您只需为此编写一个合适的 RegEx,就可以了!

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 从 android 的编辑文本框中获取 XXX-XXX-XXXX 格式的电话号码 - getting phone number in XXX-XXX-XXXX format from edittext box in android android edittext textwatcher格式的电话号码,例如xxx-xxx-xx-xx - android edittext textwatcher format phone number like xxx-xxx-xx-xx 使用String方法拆分验证(xxx)xxx-xxxx中的电话号码 - validating Phone number in from of (xxx) xxx-xxxx using String method split only 如何将ip字符串xxx.xxx.xxx.xxx:xxxxx转换为xxx.xxx.xxx.xxx? - How to convert a ip string xxx.xxx.xxx.xxx:xxxxx to xxx.xxx.xxx.xxx? Android-正则表达式将编辑文本格式化为xxx.xx - Android - Regex to format the edittext as xxx.xx 在Java中,如何将数字格式化为字符串,使其格式为“ xxx.xxx.xxx,yy”? - How to format numbers as strings to be in the form “xxx.xxx.xxx,yy”in Java? VisualVM无法使用service:jmx:rmi ///连接到178.xxx.xxx.xxx:xxxx - VisualVM Cannot connect to 178.xxx.xxx.xxx:xxxx using service:jmx:rmi/// Eclipse:在Android手机上进行测试时,出现“不幸的是,XXX已停止”错误 - Eclipse: “Unfortunately, XXX has stopped” error when testing on an Android phone 线程“main”中的异常 java.lang.IllegalArgumentException:没有为 URI“http://xxx.xxx.xxx.xxx:xxxx”的方案“http”安装 NetworkModule - Exception in thread “main” java.lang.IllegalArgumentException: no NetworkModule installed for scheme “http” of URI “http://xxx.xxx.xxx.xxx:xxxx” 格式化数字值从 XX.X 到 .XXX java - Format number value from XX.X to .XXX java
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM