Проверка, является ли переменная целым числом в JavaScript
7744 просмотра
3 ответа
Я сделал форму, где пользователь вводит значения ширины и высоты, которые они хотят, чтобы всплывающее окно было. Я использую window.open
для этого.
Поэтому я думаю, что мне нужно проверить, являются ли значения ширины и высоты целочисленными. У меня есть функция, которая проверяет, что переменная является целым числом, которое ...
function isInteger(possibleInteger) {
return !isNaN(parseInt(possibleInteger));
}
но я не знаю, как вызвать эту функцию для функции ширины и высоты, чтобы проверить, вводил ли пользователь целое число. Может ли кто-нибудь помочь?
Автор: Sam Источник Размещён: 12.11.2019 09:47Ответы (3)
6 плюса
Это ответ на вопрос, упомянутый в теме, а не фактический в тексте :).
Следующий метод более точен при определении, является ли строка действительным целым числом.
function isInteger(possibleInteger) {
return /^[\d]+$/.test(possibleInteger);
}
Ваш текущий метод проверяет «7.5», например.
РЕДАКТИРОВАТЬ: Основываясь на комментарии Machineghost, я исправил функцию для правильной обработки массивов. Новая функция выглядит следующим образом:
function isInteger(possibleInteger) {
return Object.prototype.toString.call(possibleInteger) !== "[object Array]" && /^[\d]+$/.test(possibleInteger);
}
Автор: Zafer
Размещён: 05.09.2010 10:50
4 плюса
Альтернативный ответ, если вы беспокоитесь о производительности.
var isInteger1 = function(a) {
return ((typeof a !== 'number') || (a % 1 !== 0)) ? false : true;
};
Загрузить результаты теста по сравнению с ответом Зафера в Chrome:
undefined => 4ms vs 151ms
1 => 10ms vs 390ms
1.1 => 61ms vs 250ms
'1' => 8ms vs 334ms
[1] => 9ms vs 210ms
{foo: 'bar'} => 8ms vs 478ms
Автор: zupa
Размещён: 29.04.2013 05:05
1 плюс
var isWidthAnInteger = isInteger(document.getElementById('width').value);
var isHeightAnInteger = isInteger(document.getElementById('height').value);
if (isWidthAnInteger && isHeightAnInteger) {
// TODO: window.open
}
где у вас есть следующие текстовые поля:
Width: <input type="text" id="width" name="width" />
Height: <input type="text" id="height" name="height" />
Автор: Darin Dimitrov
Размещён: 05.09.2010 09:06
Вопросы из категории :
- javascript Как определить, какой из указанных шрифтов был использован на веб-странице?
- javascript Валидация клиентской стороны ASP.Net
- javascript Длина объекта JavaScript
- javascript Получение текста из выпадающего списка
- javascript Скрипт входа со скрытыми кнопками
- javascript Как автоматически изменить размер текстовой области с помощью Prototype?
- javascript Удаление элементов с помощью Array.map в JavaScript
- javascript Прокрутка переполненных DIV с помощью JavaScript
- javascript API Карт Google - проблемы с классом GLatLngBounds
- javascript Проверка десятичных чисел в JavaScript - IsNumeric ()
- parseint Преобразовать строку в целое число в JavaScript?
- parseint Проверка, является ли переменная целым числом в JavaScript
- parseint Java: анализировать значение int из символа
- parseint Java - проверка, если parseInt выдает исключение
- parseint Удалить начальные нули из числа в Javascript
- parseint Правильный способ избежать parseInt, выбрасывающего NumberFormatException для входной строки: ""
- parseint Преобразование 32-разрядной двоичной строки с помощью Integer.parseInt завершается неудачно
- parseint parseInt всегда возвращает NaN?
- parseint Почему parseInt (1/0, 19) возвращает 18?
- parseint Разбор шестнадцатеричной строки в целое число создает исключение NumberFormatException?