这里有两种判断整数的方法,一是正则判断,二是逐字判断。
注意,逐字判断效率过于低下。
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+"为整数");
}