Сервер принимает ответ вида : +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
Комментариев нет:
Отправить комментарий