@Override
public String getPhoneNumber() {
String number = data.getPhoneNumber() +"";
if(number.length()<10){
number = "0"+number;
}
StringBuilder builder = new StringBuilder(data.getCountryPhoneCode());
builder.append(number);
builder.insert(2, "(");
builder.insert(6, ")");
builder.insert(10, "-");
builder.insert(13, "-");
builder.insert(0, "+");
return builder.toString();
}
Daria
22 уровень
валидатор не пропускает телефон, help
Обсуждается
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
DimaExpert
11 октября 2018, 15:07
Обрати вимание на 4 строку. Если number.length() например 5, ты добавляешь 0 и размер number.length() теперь 6. В 11 строке ты обращаешься к 13-у элементу, которого нет
0
Роман
11 октября 2018, 13:30
Что ты хочешь сделать при помощи "toString()"? Преобразовать число в строку? Но у тебя и так строка.
Но это не особо сейчас важно... В общем ошибка твоя в том, что ты в свое поле builder, передаешь числовое значение, прекрасно, всё работает, но не так как ты ожидала :) Таки образом ты меняешь размерность своего "builder". Ты не добавила своим .append совсем ничего :))
P.S.: builder должен принять СТРОКУ!
0
Андрей Печников
10 сентября 2018, 15:26
Если номер состоит не из 9 или 10 знаков программа не работает.
Кусок выше надо делать в цикле до 10 символов 0
Артем
9 августа 2018, 20:59
Разбирайтесь с регулярными выражениями, это все уже костыли и говнокод.
Регулярки весчь!
-1