- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
function isInteger(s)
{
var i;
for (i = 0; i < s.length; i++)
{
// Check that current character is number.
var c = s.charAt(i);
if (((c < "0") || (c > "9"))) return false;
}
// All characters are numbers.
return true;
}
// All characters are numbers.
супер, конечно
Oh, really?
Уже есть:
http://ideone.com/uLtzc
Лучше сделать вот так:
parseFloat(s) === parseInt(s, 10);
Опять же, Ваша реализация снова имеет проблемы, например если s = '012a', функция должна возвратить false, так как это даже не число, однако, Ваша функция вернет true.
Беда такого подхода является в том, что он использует функции вида parse... которые предназначены для того, чтобы выпарсить то что похоже на число из строки, а не рассматривают все строку как число, в отличие от конструктора Number