您的位置:

JS判断字符串是否为数字

一、JS判断字符串是否为数字类型

在JS中,可以使用isNaN()函数检测变量是否为数字,但是该函数对于字符串的判断并不准确,它会将一些非数字类型(如字符串、数组等)也判断为非数字类型。所以,在对字符串是否为数字类型进行判断时,可以使用正则表达式来判断。比如:

function isNumber(str){
  return /^[0-9]+$/.test(str);
}

函数中使用了正则表达式,判断字符串是否由数字0-9组成,如果是,则返回true,反之返回false。

二、JS判断字符串是否为数字开头

有时候需要判断一个字符串是否以数字开头,同样可以使用正则表达式来实现。比如:

function isNumberStart(str){
  return /^[0-9]/.test(str);
}

函数中使用了正则表达式,判断字符串的第一个字符是否为数字0-9,如果是,则返回true,反之返回false。

三、JS判断字符串只有英文和数字

有时候需要判断一个字符串是否只包含英文和数字,同样可以使用正则表达式来实现。比如:

function isNumberAndLetter(str){
  return /^[0-9a-zA-Z]+$/.test(str);
}

函数中使用了正则表达式,判断字符串是否由数字、小写字母、大写字母组成,如果是,则返回true,反之返回false。

四、判断字符串是否是数字

如果需要判断一个字符串是否是数字类型,也可以使用Number()函数进行转换,如果转换成功,则该字符串为数字,反之不是数字。比如:

function isNumber(str){
  if(Number(str) === NaN){
    return false;
  }else{
    return true;
  }
}

函数使用了Number()函数进行转换,并判断转换后的值是否为NaN(Not a Number),如果是,则返回false,反之返回true。

五、JS判断字符串是否包含数字

有时候需要判断一个字符串是否包含数字,可以使用正则表达式来实现。比如:

function hasNumber(str){
  return /[0-9]/.test(str);
}

函数中使用了正则表达式,判断字符串是否包含数字0-9,如果包含,则返回true,反之返回false。

六、JS判断是否为纯数字

纯数字是指字符串中只包含数字0-9,不包含其他字符。如果需要判断一个字符串是否为纯数字,可以使用以下方法:

function isPureNumber(str){
  var reg = /^[0-9]+$/;
  if(reg.test(str)){
    return true;
  }else{
    return false;
  }
}

在函数中定义正则表达式,判断字符串是否全部由数字组成,如果是,则返回true,反之返回false。

七、JS判断字符串是否为纯数字

有时候需要判断一个字符串是否为纯数字,和判断是否为纯数字的方法类似,只不过需要考虑字符串开头是否为负号。比如:

function isNumber(str){
  if(str === '-'){
    return false;
  }
  var reg = /^-?[0-9]+$/;
  if(reg.test(str)){
    return true;
  }else{
    return false;
  }
}

函数中首先判断字符串是否只包含负号,如果是,则返回false,反之使用正则表达式判断字符串是否为纯数字。

八、JS判断输入的是否为数字

如果需要判断用户在输入框中输入的是否为数字,可以使用以下方法:

function checkInput(input){
  var reg = /^[0-9]+\.?[0-9]*$/;
  if(reg.test(input)){
    return true;
  }else{
    return false;
  }
}

函数中使用正则表达式,判断输入的内容是否为数字,如果是,则返回true,反之返回false。

九、JS判断字符串全部是数字

有时候需要判断一个字符串是否全部都是数字,可以使用以下方法:

function isAllNumber(str){
  for(var i=0; i < str.length; i++){
    if(str.charCodeAt(i) < 48 || str.charCodeAt(i) > 57){
      return false;
    }
  }
  return true;
}

函数中使用for循环遍历字符串,获取每一个字符的Unicode码,判断是否在数字0-9的Unicode码范围内,如果全部都是数字,则返回true,反之返回false。