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);}'
    }
}
相关文章
|
4天前
|
JSON JavaScript 前端开发
JavaScript实现字符串转json对象的方法
JavaScript实现字符串转json对象的方法
|
3天前
|
JavaScript 数据处理 索引
js字符串截取
js字符串截取
8 1
|
4天前
|
JavaScript 前端开发
JavaScript中使用模板字符串拼接和使用字符串拼接有什么区别?
JavaScript中使用模板字符串拼接和使用字符串拼接有什么区别?
|
4天前
|
JavaScript 前端开发 vr&ar
如何在 JavaScript 中对字符串进行索引、拆分和操作
如何在 JavaScript 中对字符串进行索引、拆分和操作
10 0
|
4天前
|
JavaScript 前端开发
在js中正则表达式验证小时分钟,将输入的字符串转换为对应的小时和分钟
这篇文章介绍了如何在JavaScript中使用正则表达式来验证时间字符串的格式(小时和分钟),并提供了将时间字符串转换为JavaScript Date对象的示例代码及其测试结果。
|
1月前
|
数据采集 算法 JavaScript
揭开JavaScript字符串搜索的秘密:indexOf、includes与KMP算法
JavaScript字符串搜索涵盖`indexOf`、`includes`及KMP算法。`indexOf`返回子字符串位置,`includes`检查是否包含子字符串。KMP是高效的搜索算法,尤其适合长模式匹配。示例展示了如何在数据采集(如网页爬虫)中使用这些方法,结合代理IP进行安全搜索。代码示例中,搜索百度新闻结果并检测是否含有特定字符串。学习这些技术能提升编程效率和性能。
揭开JavaScript字符串搜索的秘密:indexOf、includes与KMP算法
|
1月前
|
JavaScript
js中readAsDataURL的意思,可以用于浏览器预览图像文件或者转成base64字符串
js中readAsDataURL的意思,可以用于浏览器预览图像文件或者转成base64字符串
js中readAsDataURL的意思,可以用于浏览器预览图像文件或者转成base64字符串
|
1月前
|
JavaScript 前端开发 索引
JavaScript编码之路 【JavaScript之操作数组、字符串方法汇总】(三)
JavaScript编码之路 【JavaScript之操作数组、字符串方法汇总】(三)
30 1
|
1月前
|
存储 JavaScript 前端开发
js/javascript 操作字符串【全】(含常用的操作字符串的lodash)
js/javascript 操作字符串【全】(含常用的操作字符串的lodash)
21 1
|
1月前
|
JavaScript
js HTML字符串转DOM节点,DOM节点转HTML字符串
js HTML字符串转DOM节点,DOM节点转HTML字符串
22 2