Javascript判断字符串是否为数字

说明

判断一个字符串是不是数字通常有下面三个方法,感觉2和3配合起来用好一些。

1. isNaN() 函数

NaN 即 Not a Number,isNaN() 函数会把 null,空格 以及 空串按照 0 来处理。举例说明。

console.log(isNaN(123));	// false
console.log(isNaN(-1.23));	// false
console.log(isNaN(0));	// false
console.log(isNaN("Hello"));	// true
console.log(isNaN("2005/12/12"));	// true

反正感觉不是那么太好用。

2. 正则表达式

非负浮点型

var regPos = /^d+(.d+)?$/;

负浮点型

var regNeg = /^(-(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*)))$/;

示例:只要是数字(包含正负整数,0以及正负浮点数)就返回true

function isNumber(val){    
	var regPos = /^d+(.d+)?$/;
    var regNeg = /^(-(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*)))$/; 
    if(regPos.test(val) && regNeg.test(val)){
    	return true;
    }else{        
    	return false;
    }
}

3. parseFloat()函数

parseFloat(val).toString() == "NaN"
经验分享 程序员 微信小程序 职场和发展