确定从字符串到32位整数的转换是否会溢出

时间:2010-02-17 16:33:39

标签: javascript integer-overflow

尝试对HTML输入进行前端验证,而不是在Java后端中抛出异常。

3 个答案:

答案 0 :(得分:2)

检查数字是否超过2147483647

例如:

if (parseInt(num, 10) > 2147483647)
    //BAD!!!

答案 1 :(得分:1)

if ((the_number >> 0) != the_number) {
  // overflow...
}

您仍然需要进行服务器端检查,因为客户端可能会关闭Javascript等。

答案 2 :(得分:0)

请检查:

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