判断整数的方法有两种:正则判断和逐字判断。
由于逐字判断效率过于低下,这里就不予描述了,有兴趣的看客可以自己谷歌。
1.正则判断
var r = /^/+?[1-9][0-9]*$/; //正整数
console.log(r.test(1.23));
http://jsfiddle.net/wzsdp9Lc/
扩展列表
"^//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
新闻热点
疑难解答