#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
Советую использовать данное решение
Комментариев нет:
Отправить комментарий