четверг, 19 мая 2011 г.

JavaScript is_int

Простейшая функция, проверяющая, является ли переменная целым числом. Своего рода аналог php is_int().

function is_int(x) { 
   var y = parseInt(x); 
   if (isNaN(y)) return false; 
   return x == y && x.toString() == y.toString(); 
}

В ExtJS есть отличная функция Ext.num(i, 0), проверяющая, является ли i целым числом и возвращающая его в случае успеха или 0 (второй параметр) в случае неудачи. Например:

i = Ext.num(i, 0)

1 комментарий:

  1. У вас функция возвращает true даже если будет передана строка "12", "23", "34" и т.п. также она возвращает true если будет передан не целый тип, со значением после запятой к примеру 23.3434, 12.2323. Предлагаю на рассмотрение свой вариант

    function isInt (varble) {
    var isTypeNumber = typeof(varble) === "number",
    parsedInt, parsedFloat;

    if (isTypeNumber) {
    parsedInt = parseInt(varble),
    parsedFloat = parseFloat(varble);

    if (parsedInt === parsedFloat) {
    return true;
    }
    }

    return false;
    }

    ОтветитьУдалить