js判断是否是数值

JavaScript08

js判断是否是数值,第1张

1、isNaN函数计算参数,如果值为NaN(非数字),则返回true。此函数可用于检查一个数学表达式是否成功地计算为一个数字可用性:FlashPlayer5ActionScript1.0参数expression:Object-要计算的布尔值、变量或其它表达式。返回Boolean-一个布尔值。例子:if(isNaN(document.login.imgcode.value)){alert('验证码必须是数字!')document.login.imgcode.focus()returnfalse}//判断是否是数值vartxtCount=$(this).val()if(isNaN(txtCount)){alert("请输入数值!")$(this).focus()}2、判断是否是数值方法二(js正则匹配)

js判断是否是数字

第一种方法 isNaN

isNaN返回一个 Boolean 值,指明提供的值是否是保留值 NaN (不是数字)。

NaN 即 Not a Number

isNaN(numValue)

但是如果numValue果是一个空串或是一个空格,而isNaN是做为数字0进行处理的,而parseInt与parseFloat是返回一个错误消息,这个isNaN检查不严密而导致的。

第二种方法 正则表达式

function checkRate(input) {

var re = /^[0-9]+.?[0-9]*$///判断字符串是否为数字 //判断正整数 /^[1-9]+[0-9]*]*$/

var nubmer = document.getElementById(input).value

if (!re.test(nubmer)) {

alert("请输入数字")

document.getElementById(input).value = ""

return false

}

}

第三种方法 利用parseFloat的返回值

/*----0313-------------验证数据 是数字:返回true;不是数字:返回false--------工具方法,不含有业务逻辑---------------------*/

function isNotANumber(inputData) {

//isNaN(inputData)不能判断空串或一个空格

//如果是一个空串或是一个空格,而isNaN是做为数字0进行处理的,而parseInt与parseFloat是返回一个错误消息,这个isNaN检查不严密而导致的。

if (parseFloat(inputData).toString() == "NaN") {

//alert("请输入数字……")注掉,放到调用时,由调用者弹出提示。

return false

} else {

return true

}

}

1、isNaN()

使用js自带全局函数isNaN(), isNaN()返回一个Boolean值,如下 :

var c="hello" //字符串

isNaN(c) //返回一个false

var c=10 //数字

inNaN(c)//返回一个true

如果以上c为一个空串或是一个空格,isNaN将把c当作数字0来处理,所以检查不严谨。

2、正则表达式

function checkNum(input){

var reg=/^[0-9]+.?[0-9]*$/ //判断字符串是否为数字 ,判断正整数用/^[1-9]+[0-9]*]*$/

var num=document.getElementById(input).value

if(!reg.test(num)){

        alert("请输入数字")

    document.getElementById(input).value=""

    return false

    }

}

3、利用typeof的返回值

验证方法:如果返回的值为Number,则为数字;如果返回值为String或其它,则不是数字。如下所示:

var a=123

var b='123abc'

typeof(a) //Number

typeof(b) //String