你们都是怎么判断一个字符串的内容是数字的?

我只能想到
let a ;
a = 有可能是字母,数字,中文,符号等等;
if(Number.isFinite(a - 0) === true){
// 那么这个a是一个有限大的数字,但不能判断无穷大的数字。
}
有其他方式更合理的吗

阅读 1.2k
评论
    3 个回答
    • 1.3k

    isNaN()应该是可以满足题主的需求,方法意思是检验参数是不是一个非数字。

    当要检验的变量是字符串类型时,只有字符串是纯数字组成时,这个方法才会返回false,其他情况都会返回true

    这个方法的机制就是在内部把参数进行了类型转换,转换数字类型的时候遇到字符串就会停止并返回NaN,所以只有纯数字组成的字符串才会被成功转换成数字。
    另外如果是字符串的'Infinity',它都可以被转换成相应的数字类型的无限大和无限小,所以并不需要特殊处理。

      相似问题
      推荐文章