Форум программистов, компьютерный форум, киберфорум
Наши страницы
JavaScript
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
push007
0 / 0 / 0
Регистрация: 20.03.2015
Сообщений: 127
1

Как проверить вводимых данных на целое число?

29.05.2015, 09:00. Просмотров 585. Ответов 6
Метки нет (Все метки)

HTML5
1
<input type="text" name="text" id="text">
Как сделать, если пользователь на input вводить любое значение кроме целых чисел, то снизу этого же поле появился надпись "Вы не ввели целые число" и очищался это поле.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2015, 09:00
Ответы с готовыми решениями:

Как изменить функцию для проверки вводимых данных?
Добрый вечер! Самостоятельно постройте регулярное выражение, описывающее...

Коррекция вводимых данных в реальном времени
Здравствуйте друзья! Подскажите пожалуйста написать условие проверки....

Создать на форме проверку вводимых данных
&lt;html&gt; &lt;head&gt; &lt;title&gt;День 1&lt;/title&gt; &lt;script type=&quot;text/javascript&quot;&gt; ...

Получить целое число
Разделил, получил десятичное число. Как достать целое? Добавлено через 7...

Проверка на положителельное целое число
У меня в текстовом поле должно быть только положительное, целое число. Я...

6
alexsamos33
618 / 598 / 325
Регистрация: 26.04.2014
Сообщений: 1,968
29.05.2015, 09:37 2
HTML5
1
2
<input type="text" name="text" id="text">
<div id="msg"></div>
Javascript
1
2
3
4
5
6
7
8
9
10
11
document.getElementById("text").onchange=check_input;
document.getElementById("text").onkeyup=check_input;
function check_input(){
re=/[^\d]/;
if(re.test(document.getElementById("text").value)){
document.getElementById("text").value=document.getElementById("text").value.replace(re,'');
document.getElementById("msg").innerHTML="Вы не ввели целое число";
} else {
document.getElementById("msg").innerHTML="";
}
}
Добавлено через 7 минут
А вот так если написать, то отрицательные числа тоже можно будет вводить:
Javascript
4
re=/[^\d-]/;
1
amadey18
91 / 91 / 51
Регистрация: 29.04.2013
Сообщений: 361
29.05.2015, 10:18 3
а если так? Без использования regexp.
Javascript
1
2
3
4
5
6
function isInteger(num) {
    if (num-Math.floor(num)==0)
        return true;
    else
        return false;
}
Добавлено через 1 минуту
примерчик
Кликните здесь для просмотра всего текста

http://jsfiddle.net/amadey18/vpswghwk/
HTML5
1
<input type="text" id='test' onchange='test();'/>
Javascript
1
2
3
4
5
6
7
8
9
10
11
function test(){
    var a = document.getElementById('test');
    console.log(a.value);
    console.log(isInteger(a.value))
}
function isInteger(num) {
 if (num-Math.floor(num)==0)
     return true;
    else
        return false;
}
1
push007
0 / 0 / 0
Регистрация: 20.03.2015
Сообщений: 127
29.05.2015, 14:22  [ТС] 4
Здесь если ctrl+c и ctrl+v делать, то поставится запись. Как решать здесь???

Добавлено через 10 минут
А можно вообще сделать так, при вводе не проверял. А проверял, когда будет клик на другом месте.
0
alexsamos33
618 / 598 / 325
Регистрация: 26.04.2014
Сообщений: 1,968
29.05.2015, 14:26 5
Javascript
4
re=/[^\d]+/;
или
Javascript
4
re=/[^\d-]+/;
У меня срабатывает.

Добавлено через 1 минуту
А чтобы не проверял при вводе просто убери эту строку:
Javascript
2
document.getElementById("text").onkeyup=check_input;
1
amadey18
91 / 91 / 51
Регистрация: 29.04.2013
Сообщений: 361
29.05.2015, 14:28 6
push007, добавьте
HTML5
1
<button onclick='check_input();'>проверить</button>
и удалите
Javascript
1
2
document.getElementById("text").onchange=check_input;
document.getElementById("text").onkeyup=check_input;
в своей функции нашел баг, пустую строку считает как целое число))
1
push007
0 / 0 / 0
Регистрация: 20.03.2015
Сообщений: 127
29.05.2015, 14:28  [ТС] 7
Спасибо!
0
29.05.2015, 14:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.05.2015, 14:28

Результат деления не целое число
При делении переменной у=7 на переменную х=25 программа выдает результат с...

Вывести диалог приветствия или ошибку в зависимости от вводимых данных
Введите свою фамилию, пол и возраст Запросите подтверждение Если все верно, то...

Обойти ограничение вводимых данных
Привет. Не раз видел в браузерных io играх как люди, обходя ограничения input...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru