js判断输入是否为整数

 

今天突然遇到了这个功能,百度一下找到了很多,不外乎两种方式:正则表达式和逐个字符判断,都挺麻烦。正则表达式试了半天都没成功。自己琢磨了一个比较简单的方法:取整后判断是否和原值相等!

javascript的取整函数是:parseInt

if(parseInt(value)==value)
{

//整数!
}

正则方式

1) "^\\d+$"  //非负整数(正整数 + 0)
"^[0-9]*[1-9][0-9]*$"  //正整数
"^((-\\d+)|(0+))$"  //非正整数(负整数 + 0)
"^-[0-9]*[1-9][0-9]*$"  //负整数
"^-?\\d+$"    //整数
"^\\d+(\\.\\d+)?$"  //非负浮点数(正浮点数 + 0)
"^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$"  //正浮点数
"^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$"  //非正浮点数(负浮点数 + 0)
"^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"  //负浮点数
"^(-?\\d+)(\\.\\d+)?$"  //浮点数
2) var r = /^\+?[1-9][0-9]*$/;  //正整数
      r.test(str);

你可能感兴趣的:(js,jsp)