js-判断输入值是不是数字、字符串

简介: 1、NaN只要是类型转换失败,都会出现NaN。例如:

1、NaN

只要是类型转换失败,都会出现NaN。例如:

var i = Number('abc');
alert(i);//NaN
alert(typeof i);//number 查看a的数据类型

NaN:Not a number 不是个数字 的 数字类型

一旦写程序出现NaN,那么肯定进行了非法的运算操作。例如:

alert('200px' - 100);//NaN 忘记先把200px这个字符串转换为数字再进行计算,所以会出现NaN

NaN是提示进行了非法运算操作。

NaN是假,在布尔值中是false。

NaN被划分到Number数据类型中。

2、isNaN(不是数字)

isNaN()方法:判断某些值是不是数字


不是数字:true


是数字:false


isNaN讨厌数字,不讨厌数字类型,只要是数字就为false


相当于isNaN是文科生,文科男生不讨厌数学系的女生,只讨厌数学。


isNaN( )判断原理:


首先给内部Number( )进行转换,只要Number( )转换出来是数字直接为false,否则为true.

例如:

alert(isNaN('250'));//false 
首先用isNaN的兄弟Number()进行转换为'250' =>数字250,然后给isNaN,isNaN一看,原来是数字,直接就是false.
alert(isNaN(true));//false 
首先用Number()进行转换 true => 1 ,isNaN一看是数字1,直接为false.
具体Number()方法转换参考数据类型转化文章
alert(isNaN(2));//false 是数字为false
alert(isNaN(200));//false 是数字为false
alert(isNaN('你好'));//true 字符串为true,只要不是数字都为true
alert(isNaN(function(){alert(1)}));//true 函数也是true,只要不是数字都为true

3、判断输入的内容是不是数字

html:

<input type="text" name="" id="txt">
<input type="button" value="判断输入值是不是数字" id="btn">

js:

window.onload = function(){
    var txt = document.getElementById('txt');
    var btn = document.getElementById('btn');
    var str = '';//设置一个变量用来存储输入的内容
    btn.onclick = function(){
        str = txt.value;//存储输入框汇中输入的值
        // 直接从HTML中拿到的值,类型都是字符串
        // 所以如果判断输入内容的类型不能直接用typeof来进行判断
        // 用isNaN()来进行判断
        if(isNaN(str)){//isNaN讨厌数字,只要是数字就为false
            alert(str+'不是数字');
        }else{
            alert(str+'是数字');
        }
    }
}

4、判断输入的值是不是字符串

判断是否是字符串:typeof arr[i] === 'string'

var arr = [1,-2,'123','12px','12.5元','你好','hellow',[],'function(){alert(1);}',null,'abc'-2,Number('abc')];
for(var i=0;i<arr.length;i++){
    if(typeof arr[i] === 'string'){//判断是否是字符串用typeof
        // 是字符串弹出来
        alert(arr[i]);//'123'、'12px'、'12.5元' 、'你好'、'hellow'、'function(){alert(1);}'
    }
}
相关文章
|
1月前
|
JavaScript 前端开发
JS几种拼接字符串的方法
JS几种拼接字符串的方法
48 1
|
3月前
|
存储 JavaScript 前端开发
JS上传文件(base64字符串和二进制文件流)
这篇文章介绍了两种JavaScript文件上传的方法:使用FileReader对象将文件读取为base64字符串上传,以及使用FormData对象以二进制文件流的形式上传文件,包括如何处理文件选择、读取和上传的详细代码示例。
437 2
JS上传文件(base64字符串和二进制文件流)
|
2月前
|
JavaScript
js 解析 byte数组 成字符串
js 解析 byte数组 成字符串
68 5
|
3月前
|
JSON JavaScript 前端开发
JavaScript实现字符串转json对象的方法
JavaScript实现字符串转json对象的方法
|
1月前
|
存储 JavaScript 前端开发
JavaScript 字符串(String) 对象
JavaScript 字符串(String) 对象
43 3
|
2月前
|
JavaScript 前端开发
javascript创建字符串
javascript创建字符串
|
2月前
|
JavaScript 前端开发
如何在JavaScript中替换字符串:一篇详细指南
如何在JavaScript中替换字符串:一篇详细指南
|
2月前
|
存储 JavaScript
js切割截取字符串方法
js切割截取字符串方法
46 2
|
2月前
|
Web App开发 JavaScript 前端开发
JavaScript 模板字符串
JavaScript 模板字符串
28 3
|
2月前
|
存储 JavaScript 前端开发
JavaScript 字符串
JavaScript 字符串
22 2