Да, вы можете использовать JavaScript, но это становится рискованным. Вы должны ловить каждое нажатие клавиши, поэтому держитесь подальше от таких вещей, как Jquery, которые только замедляют его. Кроме того, клавиатура отличается от цифровых клавиш, поэтому вы должны знать о них. Кроме того, вы должны проходить через такие элементы, как табуляция, возврат, пробел (иногда, но не всегда), клавиша del, вставка и т. Д., Не говоря уже о точке на клавиатуре и на клавиатуре, если вы используете десятичные дроби с фиксированной запятой.
Это одна из основных слабостей модели DOM и HTML, поэтому вы должны ее кодировать. Google для "javascript + keycode", и вы найдете много примеров.