> 웹 프론트엔드 > 프런트엔드 Q&A > 자바스크립트에서 숫자인지 확인하는 방법

자바스크립트에서 숫자인지 확인하는 방법

藏色散人
풀어 주다: 2023-01-07 11:41:53
원래의
5222명이 탐색했습니다.

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

자바스크립트에서 숫자인지 확인하는 방법

이 문서의 운영 환경: 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));  //数字
document.write(isNaN(-1.23));  //数字
document.write(isNaN(5-2));  //数字
document.write(isNaN(0));  //数字
document.write(isNaN("Hello"));  //字符串
document.write(isNaN("2005/12/12"));  //字符串
</script>
로그인 후 복사

출력:

false
false
false
false
true
true
로그인 후 복사

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

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

예:

// true:数值型的,false:非数值型
function myIsNaN(value) {
   document.write((typeof value === &#39;number&#39; && !isNaN(value))+"<br>");
}
myIsNaN(10); 
myIsNaN(null); 
myIsNaN( );
myIsNaN();
로그인 후 복사

출력:

true
false
false
false
로그인 후 복사

방법 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 고급 튜토리얼"

위 내용은 자바스크립트에서 숫자인지 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿