>  기사  >  웹 프론트엔드  >  JavaScript는 숫자인지 여부를 어떻게 결정합니까?

JavaScript는 숫자인지 여부를 어떻게 결정합니까?

coldplay.xixi
coldplay.xixi원래의
2021-04-09 15:12:598386검색

JavaScript를 사용하여 숫자인지 확인하는 방법: 1. [isNaN()] 함수를 사용합니다. 2. 정규식을 사용합니다. 3. [parseFloat()]의 반환 값을 사용합니다.

JavaScript는 숫자인지 여부를 어떻게 결정합니까?

이 튜토리얼의 운영 환경: Windows 7 시스템, JavaScript 버전 1.8.5, DELL G3 컴퓨터.

숫자인지 확인하는 JavaScript 방법:

방법 1: isNaN() 함수 사용

isNaN() 함수는 js와 함께 제공되는 전역 함수입니다. isNaN() 함수가 사용됩니다. 매개변수가 숫자가 아닌 값인지 확인합니다.

값 x가 숫자가 아닌 특수 값 NaN인 경우(또는 그러한 값으로 변환될 수 있는 경우) 반환된 값은 true이고, 값 x가 다른 값인 경우 false가 반환됩니다.

isNaN()의 단점은 null, 공백 및 빈 문자열이 0으로 처리된다는 것입니다.

NaN: 숫자가 아님

<script>
document.write(isNaN(123));  //数字      ----false
document.write(isNaN(-1.23));  //数字    ----false
document.write(isNaN(5-2));  //数字      ----false
document.write(isNaN(0));  //数字        ----false
document.write(isNaN("Hello"));  //字符串 ----true
document.write(isNaN("2005/12/12"));  //字符串----true
</script>

단점: isNaN()은 null, 공백 및 빈 문자열을 0으로 처리하므로 검사는 엄격하지 않습니다.

그래서 이를 처리하고 typeof 연산자와 함께 사용하세요.

예:

// true:数值型的,false:非数值型
function myIsNaN(value) {
   return (typeof value === &#39;number&#39; && !isNaN(value));
}
myIsNaN(10);      ----true
myIsNaN(null);    ----false
myIsNaN( );      ----false
myIsNaN();       ----false

참고: '36.3', 유형 값 === '숫자'인 경우 false를 반환합니다. 문자열 유형 숫자도 true를 반환하려면 다음 방법을 사용하면 됩니다. 3

방법 2: 정규 표현식을 사용합니다.

(1), 확인이 숫자(양수 및 음수, 0 및 양수 및 음수 부동 소수점 숫자 포함)인 경우 true

/**
* 校验只要是数字(包含正负整数,0以及正负浮点数)就返回true
**/
function isNumber(val){
    var regPos = /^[0-9]+.?[0-9]*/; //判断是否是数字。
  
    if(regPos.test(val) ){
        return true;
    }else{
        return false;
    }
}

(2)를 반환합니다. 양수 및 음수이면 true를 반환합니다

/**
* 校验正负正数就返回true
**/
function isIntNum(val){
    var regPos = / ^\d+$/; // 非负整数 
    var regNeg = /^\-[1-9][0-9]*$/; // 负整数
    if(regPos.test(val) && regNeg.test(val)){
        return true;
    }else{
        return false;
    } 
}

방법 3:parseFloat()

의 반환 값을 사용합니다.parseFloat() 함수는 문자열을 구문 분석하고 부동 소수점 숫자를 반환할 수 있습니다.

이 함수는 문자열의 첫 번째 문자가 숫자인지 여부를 지정합니다. 그렇다면 문자열은 숫자 끝에 도달할 때까지 구문 분석되고 숫자는 문자열이 아닌 숫자로 반환됩니다.

사용법: 매개변수에 지정된 문자열을 부동 소수점 숫자로 구문 분석하여 반환합니다.

/**
* 验证数据 是数字:返回true;不是数字:返回false
**/
function Number(val) {
  if (parseFloat(val).toString() == "NaN") {
    
    return false;
  } else {
    return true;
  }
}

isNaN(val)은 빈 문자열이나 공백을 판단할 수 없습니다

빈 문자열, 공백 또는 null이고 isNaN이 숫자 0,

으로 처리되어parseInt 및 parseFloat가 오류 메시지를 반환하는 경우, 이는 isNaN의 느슨한 검사를 통해.

관련 무료 학습 권장사항: javascript 비디오 튜토리얼

위 내용은 JavaScript는 숫자인지 여부를 어떻게 결정합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.