判断整数的方法有两种:正则判断和逐字判断。
由于逐字判断效率过于低下,这里就不予描述了,有兴趣的看客可以自己谷歌。
1.正则判断
var r = /^\+?[1-9][0-9]*$/; //正整数
console.log(r.test(1.23));
扩展列表
"^\\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 num=1.23;
if (parseInt(num) != num) {
console.log(num+"为非整数");
}
else{
console.log(num+"为整数");
}
http://jsfiddle.net/euvn0L1g/1/
转载请注明
www.cnblogs.com/yoshirogu