Проверка инпута на числа на Android
Функцией проверяю инпут на числа. На ПК и яблоке все работает, на андроиде ломается и можно вводить что угодно. Кто-нибудь сталкивался с подобным?
checkNumberOrder(event, number) {
if (String(number).length >= 15) {
event.preventDefault();
}
const rgxNum = /^[0-9.]+$/;
const rgxDot = /^[.]+$/;
if (!event.key.match(rgxNum)) {
event.preventDefault();
return number || '';
}
if (number) {
const value = number.includes('.');
if (value && event.key === '.') {
event.preventDefault();
return `${number}`;
}
return `${number}`;
}
if (event.key.match(rgxDot)) {
event.preventDefault();
return null;
}
return null;
},
Ответы (1 шт):
Автор решения: RavenTheX
→ Ссылка
Предлагаю другой кроссбраузерный вариант
let field = document.querySelector('input')
field.addEventListener('keydown', evt => {
if (evt.keyCode < 48 || evt.keyCode > 57) {
if (evt.keyCode === 8) {
return
}
evt.preventDefault()
}
})
<input type="text" />