JavaScript判断输入是否为数字类型的方法总结
前言
很多时候需要判断一个输入是否位数字,下面简单列举集中方法。
第一种方法 isNaN
isNaN 返回一个 Boolean 值,指明提供的值是否是保留值 NaN (不是数字)。
NaN 即 Not a Number
1
|
isNaN(numValue) |
但是如果numValue果是一个空串或是一个空格,而isNaN是做为数字0进行处理的,而parseInt与parseFloat是返回一个错误消息,这个isNaN检查不严密而导致的。
第二种方法 正则表达式
1
2
3
4
5
6
|
function checkRate(input) { var re = /^[0-9]+.?[0-9]*/; //判断字符串是否为数字//判断正整数/[1−9]+[0−9]∗]∗/ if (!re.test(nubmer)) { alert(“请输入数字”); } } |
第三种方法 利用parseFloat的返回值
1
2
3
4
5
6
7
8
9
10
|
function isNotANumber(inputData) { //isNaN(inputData)不能判断空串或一个空格 //如果是一个空串或是一个空格,而isNaN是做为数字0进行处理的,而parseInt与parseFloat是返回一个错误消息,这个isNaN检查不严密而导致的。 if (parseFloat(inputData).toString() == “NaN”) { //alert(“请输入数字……”); return false ; } else { return true ; } } |