Перейти к содержимому

Как проверить input на число

  • автор:

как проверить введенное ли именно число в input при клике на кнопку

для проверки на «не число» можно применить метод isNaN, который взращивает false для всех числовых значений.

 var input = document.getElementsByTagName('INPUT')[0]; var button = document.getElementsByTagName('BUTTON')[0]; button.onclick = function()
    Document     

Отслеживать
ответ дан 18 янв 2018 в 9:24
608 6 6 серебряных знаков 11 11 бронзовых знаков

Тут много вариантов, можно просто поставить

Можно проверять нажатие кнопок на клавиатуре и не реагировать ни на что кроме цифр, ну или например вот так проверить регуляркой:

    Document       

Отслеживать
ответ дан 18 янв 2018 в 9:03
4,217 1 1 золотой знак 17 17 серебряных знаков 31 31 бронзовый знак

var enter = $('input'); var send = $('button').click(function() < var enter_val = enter.val() -0; //преобразуем введенное значение из string в integer неявно. Если преобразование не возможно, вернет NaN console.log(enter.val()); if ((enter.val() !== '')&&(!Number.isNaN(enter_val))) < //если значение НE NaN и не пустая строка alert('sent. '); >else < alert('sorry'); >>);
    Document      

Проблема была в области видимости. Переменная enter_val проверялась на значение вне функции, в которой была создана.

Отслеживать
ответ дан 18 янв 2018 в 8:48
309 2 2 серебряных знака 8 8 бронзовых знаков
Чтобы не ввел каждый раз sent. 😛
18 янв 2018 в 8:52
исправила и добавила комментарии.
18 янв 2018 в 9:23

    Важное на Мете
Связанные
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.8.3130

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Как проверить input на ввод цифр?

ivsol

Можно в тип «инпута» указать — input type=»number» обрабатывать событие — input в js коде, в итоге невозможно будет ввести «не число», а также установить средний максимальный допустимый возраст.

В этом примере средняя максимальная продолжительность жизни 122 года

Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать
Ответы на вопрос 1

Enguipro

PHP developer

Можно сделать input type=»number» , но еще лучше проверять ввод с помощью Javascript по регулярному выражению

Как проверить что в input было введено число при помощи javascript?

Вам с какой целью ? Просто в html появились новые типы input.
https://developer.mozilla.org/en-US/docs/Web/HTML/.
и минимум и максимум и точность через step = «0.1» можно задать.

Решения вопроса 0
Ответы на вопрос 2

tmshchk

Изучаю front-end и back-end разработку

Недавно на learn.javascript.ru видел похожее задание, которое решает вашу задачу.

input.onkeypress = function(e) < e = e || event; if (e.ctrlKey || e.altKey || e.metaKey) return; var chr = getChar(e); // с null надо осторожно в неравенствах, // т.к. например null >= '0' => true // на всякий случай лучше вынести проверку chr == null отдельно if (chr == null) return; if (chr < '0' || chr >'9') < return false; >>

Курсы javascript

как проверить вводимые данные в input. Задача такая, что допускаются только цифры.
Проблема в том что когда вводишь в поле число, то выдает все равно sring.

$('input').change(function()< alert(typeof $(this).val()); >);

Как тогда проверить было ли введено число или нет?

25.01.2014, 17:24

Регистрация: 11.09.2010

Сообщений: 8,804

 

__________________
В личку только с интересными предложениями

25.01.2014, 17:56

Регистрация: 10.08.2013

Сообщений: 71

27.01.2014, 15:23

Регистрация: 23.10.2010

Сообщений: 2,718

27.01.2014, 18:52

Регистрация: 26.01.2014

Сообщений: 78

$('input').change(function()< alert(typeof $(this).val()); >);

не надо заморачиваться. сделайте так:

$('input').keyup(function()< var nondigs=/[^\d]/g, val=$(this).val(); $(this).val(val.replace(nondigs,'')); >);

Последний раз редактировалось Cuntmann, 27.01.2014 в 18:56 .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *