使用Number(value) 将字符串value转换为数字,根据转换的结果判断是否为数字。
-
若value为数字组成的字符串,则转换为对应的数字;
-
若value为数字和字符串的混合,则转换为NaN;
-
若value为空字符串,则转换为0,即如果Number(value)的结果为0时,value可能为'0'或空字符串''
-
value为null时,也会返回0
判断值是否为数字或数字字符串
//前提条件是保证num不为‘ ’ 和 null
if(!Number(num) && Number(num)!=0){
alert("不是数字");
}
判断是否为整数
//取整值等于取小数值
if(parseInt(num)===parseFloat(num)){
alert("是整数");
}
//值取整前等于取整后
if(parseInt(num) === num){
alert("是整数");
}
//判断数字是否为整数,为数字且为整数时返回TRUE
if(Number.isInteger(num)){
alert("是整数");
}
判断是否为正数
//转换为数字后大于0,可能为小数
if(Number(num)>0){
alert("正数");
}
判断数字字符串是否为整数
if(!Number.isInteger( Number(value) ) ){
alert("请输入整数")
}
判断是否为正整数
//值取整前等于取整后(字符串数字)
if(parseInt(num)== num){
alert("是整数");
}
if(Number(value)>0 && Number.isInteger( Number(value) ){
alert('正整数')
}
//若取整前的值等于取整后的值,则为正整数(数字或字符串)
if(Math.round(val)== val){
alert('正整数')
}
//使用Math.ceil、Math.floor与Math.round同理
参考文章: