Страницы

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

вторник, 18 декабря 2018 г.

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

Сервер принимает ответ вида : +79521134356 Пользователь в EditText можент ввести , как 11 значный номер, так и 12 значный. Всего 3 типа.
+79521134356 - тогда гуд.
79521134356 - надо добавить +
89521134356 - надо изменить 8 на 7 и приписать +
Как это все реализовать?Помогите написать алгоритм или поделитесь им.


Ответ

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

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

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