判斷整數的方法有兩種:正則判斷和逐字判斷。
由于逐字判斷效率過于低下,這里就不予描述了,有興趣的看客可以自己谷歌。
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/