Задать вопрос

Как разрешить вводить только указанные числа?

Здравствуйте)
Подскажите пожалуйста, как можно разрешить вводить в input только цифры такого вида:
10
100
1000
10000
...
и
0,1
0,01
0,001
0,00001
...
  • Вопрос задан
  • 336 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
Stalker_RED
@Stalker_RED
Можно сделать что-то вроде такого: https://jsfiddle.net/xkfyzan9/
Только нужно решить что делать с очень мелкими значениями, там где у float уже точности недостаточно.

Частичное решение https://jsfiddle.net/xkfyzan9/1/
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
profesor08
@profesor08 Куратор тега JavaScript
Советую, пока не поздно, убедить заказчика сделать выпадающим списком, иначе пользователи будут плеваться, и называть нехорошими словами всех причастных к этой глупой идее.
Ответ написан
dummyman
@dummyman
диссидент-схизматик
Если нужны только разряды, зачем что-то вводить? Пусть и вводят вместо чисел разряд 3,2,1,0,-1,-2,-3 - не ошибутся!
Ответ написан
@kulaeff
Front-end developer
А вообще делается это просто:

$('.input').on('keypress', function(e) {
  if (e.which !== 48 && e.which !== 49 && e.which !== 46) {
    e.preventDefault()
  }
})


Это, конечно, не исчерпывающее решение, ибо не позволяет отсечь числа вроде 11, 101 и т.д., оно лишь разрешает нажимать 1, 0 и точку. Но если вместо keypress использовать input и валидировать строку на соответствие (вместо проверки нажатых клавиш), то все получится.
Ответ написан
teknik2008
@teknik2008
Расскажите про GOLANG. Мне интересно
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы