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

Разрешить в 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(/[.-]$/, "")
}

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

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