I made a form where the user inputs values for width and height that they want for the pop up window to be. I am using window.open
for that.
So I think I need to check if the values for width and height are integer. I have a function that checks that a variable is an integer that is...
function isInteger(possibleInteger) {
return !isNaN(parseInt(possibleInteger));
}
but I don't know how to call this function to the width and height function to check if the user inputted an integer. Can any one help?
This is an answer to question mentioned in the topic, not the actual one in the body of the text :).
The following method is more accurate on determining if the string is a real integer.
function isInteger(possibleInteger) {
return /^[\d]+$/.test(possibleInteger);
}
Your current method validates "7.5" for instance.
EDIT: Based on machineghost's comment, I fixed the function to correctly handle arrays. The new function is as follows:
function isInteger(possibleInteger) {
return Object.prototype.toString.call(possibleInteger) !== "[object Array]" && /^[\d]+$/.test(possibleInteger);
}
An alternative answer if you worry about performance.
var isInteger1 = function(a) {
return ((typeof a !== 'number') || (a % 1 !== 0)) ? false : true;
};
Load test results compared to Zafer's answer in 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
See for yourself: jsfiddle
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With