30 января 2023, 23:32
149
Разрешить в 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(/[.-]$/, "")
}



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