Разделите номер телефона (мобильный или стационарный) на код страны, код города и номер - PullRequest
3 голосов
/ 20 апреля 2011

Мне нужно разделить телефонный номер (может быть мобильный или стационарный) на:

  • страна телефонный код
  • площадь код
  • телефон номер

Примеры:

+923211234567 будет 92 32x 1234567 (мобильный)
+92992123456 будет 92 992 123456 (наземная линия)

Допустим, у меня есть база данных с телефонным кодом всех стран, кодом города, мобильным кодом страны, кодом мобильной сети ...

Проблема в том, что Телефонный код страны может содержать 1, 2 или 3 цифры.Например:

1 для США , 92 для Пакистан или 233 для Гана

Кроме того, Площадь и Код мобильной сети может состоять из 2 или 3 цифр.Есть идеи?

Ответы [ 3 ]

6 голосов
/ 20 апреля 2011

Вы можете использовать Анализатор телефонных номеров Библиотека.
Демо-страницу можно найти здесь .

0 голосов
/ 02 августа 2018
try {
// phone must begin with '+'
PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance();
Phonenumber.PhoneNumber numberProto = phoneUtil.parse("your number", "");
int countryCode = numberProto.getCountryCode();
long nationalNumber = numberProto.getNationalNumber();
Log.i("code", "code " + countryCode);
Log.i("code", "national number " + nationalNumber);
} catch (NumberParseException e) {
System.err.println("NumberParseException was thrown: " + e.toString());
}
0 голосов
/ 20 апреля 2011

Известно ли это до разделения, является ли номер мобильным или номером наземной линии?Если нет, то даже число может варьироваться по длине.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...