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