Показать сообщение отдельно
  #6 (permalink)  
Старый 28.06.2019, 00:06
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от NiOl
1. Дать ввести человеку что угодно, и onchange проверять введённое, если не нравиться - заставить человека исправить данные. Это самый простой путь.
2. Создать полностью свой элемент input, где будете перехватывать все обращения к клавиатуре и мышке и тачу и еще неизвестным hid, и создавать таким образом свой собственный редактор строки. Это очень громоздко, но будет работать именно так, как Вам нужно.
NiOl, вам нужно изучить событие input

Сообщение от s24344
Всем привет, подскажите, пожалуйста как сделать чтобы значение input состояло только из определенного количества цифр (в моем случае тринадцать)?
Если вам нужны натуральные числа от 1 000 000 000 000 до 9 999 999 999 999, то можно сделать при помощи, например, поля для ввода чисел!
<style>
:invalid {
	color: red;
}
</style>
<input type="number" min="1000000000000" max="9999999999999" step="1">


Или например, при помощи текстового поля, если вам нужны нули в старших разрядах числа, чтобы его дополнить до 13-ти значного, которое проходит проверку только тогда, когда введено такое 13-значное число!
<style>
:invalid {
	color: red;
}
</style>
<input pattern="\d{13}">


Сообщение от s24344
UI не должен давать вводить что-то отличное от цифр.
Такая проверка необходима именно на javascript.
Расширим последний пример...
<style>
:invalid {
	color: red;
}
</style>
<input pattern="\d{13}" maxlength="13" oninput="this.value=this.value.replace(/\D/g,'')">

Последний раз редактировалось Malleys, 28.06.2019 в 00:11.
Ответить с цитированием