Определите, приведет ли преобразование из строки в 32-разрядное целое число к переполнению
-
21-09-2019 - |
Вопрос
Пытаюсь выполнить внешнюю проверку входных данных HTML вместо того, чтобы выдавать исключение в серверной части Java.
Решение
if ((the_number >> 0) != the_number) {
// overflow...
}
Вам все еще нужна проверка на стороне сервера, потому что на стороне клиента может быть отключен Javascript и т.д.
Другие советы
Проверьте, является ли число больше, чем 2147483647
.
Например:
if (parseInt(num, 10) > 2147483647)
//BAD!!!
Просто проверь:
if (parseInt(myNumberAsString, 10) > 2147483647) { alert("Invalid int!"); }
Не связан с StackOverflow