Сообщение от 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,'')">