30 января 2023, 23:32
 1186

Разрешить в input определенные символы (цифры, дефисы и точки) JS

Заменять в input символы, буквы, пробелы. Разрешить только цифры, дефисы и точки.

Может иногда понадобиться ограничить ввод данных в input.

Например, запретить вводить буквы и разные символы. Разрешить только цифры, дефисы, точки и заменять пробелы на точку. А при отправки удалять случайно поставленные в конце дефис или точку.

<input type="text" id="i" value="" placeholder="Можно ввести цифры, дефисы и точки" />
i.oninput = function() {
  this.value = this.value
    .replace(/ /g, ".")
    .replace(/_/g, "-")
    .replace(/\.+/g, ".")
    .replace(/\-+/g, "-")
    .replace(/[^\w.-]|[a-zA-Z]|^[.-]/g, "")
}
check.onclick = function() {
  i.value = i.value.replace(/[.-]$/, "")
}
Работаем с TimeWeb
Все наши проекты на хостинге TimeWeb - проверено временем.
  • Виртуальный хостинг - от 196 ₽ в месяц
  • Аренда VDS и VPS - от 169 ₽ в месяц
  • Выделенные серверы - от 4 941 ₽ в месяц
  • Конструктор сайтов - 159 ₽ в месяц
  • Быстрый хостинг
  • Облачные серверы
  • Цена + качество
  • Поддержка 24/7
  • Надежные дата-центры
  • Своя панель управления
  • Бесперебойная работа

30 января 2023, 23:32    Сергей Глазунов Блог 0    1186 0

Комментарии ()