Checking if a variable is an integer in javascript

Sam picture Sam · Sep 5, 2010 · Viewed 7.8k times · Source

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?

Answer

Zafer picture Zafer · Sep 5, 2010

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);
}