Пробовал написать условие, в котором указывается диапазон "пропускаемых" клавиш. Работало, но не на смартфонах (конкретно - iOS). Там срабатывала только 8 клавиша (Backspace).
Пробовал сделать регуляркой:
regex = new RegExp('^[a-zA-Zа-яА-ЯёЁ0-9]+$');
str = String.fromCharCode(!e.charCode ? e.which : e.charCode);
if (regex.test(str) || e.which === 8) {
Английские символы на iOS принимаются, а вот русские - нет. Backspace тут также работает.
Так как же в итоге сделать все это, чтобы и работало везде, где можно?