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"