Проверка инпута на числа на 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" />

→ Ссылка