sanManjiro
@sanManjiro

Как запретить ввод цифры 8 и 7 вторым символом через .replace()?

Есть вот такой код:
onChange(event.target.value.replace(/[+()_-]/g, '').replace(/\s/g, ''))

Можно ли как-то через .replace() запретить ввод цифры 8 и 7 вторым символом?
Если что, конечный итог выглядит вот так: 74234242342, то есть при вводе пользователю нужно запретить вводить цифры 7 и 8 вторым символом.
  • Вопрос задан
  • 98 просмотров
Решения вопроса 1
sanManjiro
@sanManjiro Автор вопроса
Я сделал это путем создание функции, которая позволяет первый раз при вводе номера удалять цифры 8 или 7, вот сама функция:
const setCharAt = (str,index,chr) => {
  if(index > str.length-1) return str;
  str.substring(0,index) + chr + str.substring(index+1);
}

export const formatNumber = (string) => {
  if (string.charAt(0) === "8" || string.charAt(0) === "7") {
    return string = setCharAt(string, 0, "")
  } else if ((string.charAt(0) === "8" || string.charAt(0) === "7") && (string.charAt(1) === "8" || string.charAt(1) === "7")) { 
    string = setCharAt(string, 0, "")
    return string = setCharAt(string, 1, "")
  }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы