Страницы

Поиск по вопросам

вторник, 31 декабря 2019 г.

Алгоритм перевода номера телефона

#java #android


Сервер принимает ответ вида : +79521134356
Пользователь в EditText можент ввести , как 11 значный номер, так и 12 значный.
Всего 3 типа.

+79521134356 - тогда гуд.

79521134356 - надо добавить +

89521134356 - надо изменить 8 на 7 и приписать +

Как это все реализовать?Помогите написать алгоритм или поделитесь им.
    


Ответы

Ответ 1



public static void main(String[] args) { System.out.println(formatNumber("+79521134356")); System.out.println(formatNumber("79521134356")); System.out.println(formatNumber("89521134356")); System.out.println(formatNumber("+7-952-113-43-56")); System.out.println(formatNumber("+7 952 113 43 56")); System.out.println(formatNumber("+7?952.113.43:56")); System.out.println(formatNumber("+7_LOL_952_LOL_1134356")); System.out.println(formatNumber("12345")); } private static String formatNumber(String s) { s = s.replaceAll("(\\D)*", ""); int len = s.length(); if (len >= 10) { s = s.substring(len - 10); s = "+7" + s; } else { System.out.println("Cлишком короткий номер: " + s); s = null; } return s; } Вывод: +79521134356 +79521134356 +79521134356 +79521134356 +79521134356 +79521134356 +79521134356 Cлишком короткий номер: 12345 null

Ответ 2



Советую использовать данное решение

Комментариев нет:

Отправить комментарий