Определите, переполнится ли преобразование из строки в 32-разрядное целое число - PullRequest
1 голос
/ 17 февраля 2010

Попытка выполнить проверку интерфейса на входе HTML вместо того, чтобы выдавать исключение на сервере Java.

Ответы [ 3 ]

2 голосов
/ 17 февраля 2010

Проверьте, больше ли число 2147483647.

Например:

if (parseInt(num, 10) > 2147483647)
    //BAD!!!
1 голос
/ 17 февраля 2010
if ((the_number >> 0) != the_number) {
  // overflow...
}

Вам по-прежнему нужна проверка на стороне сервера, поскольку на стороне клиента может отключаться Javascript и т. Д.

0 голосов
/ 17 февраля 2010

Просто проверьте:

if (parseInt(myNumberAsString, 10) > 2147483647) {  alert("Invalid int!"); }
...