当前位置 博文首页 > 小龙狗的博客:Javascript判断字符串是否为数字

    小龙狗的博客:Javascript判断字符串是否为数字

    作者:[db:作者] 时间:2021-07-09 21:58

    说明

    判断一个字符串是不是数字通常有下面三个方法,感觉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"
    
    cs