>  기사  >  웹 프론트엔드  >  js에서 숫자인지 확인하는 방법

js에서 숫자인지 확인하는 방법

藏色散人
藏色散人원래의
2021-03-17 15:36:2081591검색

JS 메서드를 사용하여 숫자인지 확인합니다. 1. isNaN() 함수를 사용하여 숫자인지 확인합니다. 2. 정규 표현식을 사용하여 숫자인지 확인합니다. ) 판단을 실현합니다.

js에서 숫자인지 확인하는 방법

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

방법 1: isNaN() 함수 사용

isNaN() 함수는 js에 포함된 전역 함수입니다. isNaN() 함수는 매개변수가 숫자가 아닌 값인지 확인하는 데 사용됩니다.

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

isNaN()의 단점은 null, 공백 및 빈 문자열이 0

NaN: Not a Number
<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으로 처리하므로 검사를 엄격하게 수행할 수 없습니다. .

그래서 이를 처리하고 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检查不严密而导致的。

추천 학습: "js 기본 튜토리얼"

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

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