ProgramingTip

JavaScript 값이 "정수"인지 확인 받았습니까?

bestdevel 2020. 10. 15. 08:07
반응형

JavaScript 값이 "정수"인지 확인 받았습니까?


가능성 :
변수가 Javascript에 숫자 값을 포함하고 있는지 확인하십시오.

변수가 jQuery에서 정수인지 어떻게 확인합니까?

예 :

if (id == int) { // Do this }

다음을 사용하여 URL에서 ID를 가져옵니다.

var id = $.getURLParam("id");

하지만 변수가 정수인지 확인하고 싶습니다.


이 시도 :

if(Math.floor(id) == id && $.isNumeric(id)) 
  alert('yes its an int!');

$.isNumeric(id)숫자인지 아닌지 확인한
Math.floor(id) == id다음 실수가 아닌 정수 값인지 확인합니다. float 인 경우 int로 파싱하면 원래 값과 다른 결과가 나타납니다. int이면 둘 다 동일합니다.


다음은 Number술어 함수에 대한 폴리 필입니다 .

"use strict";

Number.isNaN = Number.isNaN ||
    n => n !== n; // only NaN

Number.isNumeric = Number.isNumeric ||
    n => n === +n; // all numbers excluding NaN

Number.isFinite = Number.isFinite ||
    n => n === +n               // all numbers excluding NaN
      && n >= Number.MIN_VALUE  // and -Infinity
      && n <= Number.MAX_VALUE; // and +Infinity

Number.isInteger = Number.isInteger ||
    n => n === +n              // all numbers excluding NaN
      && n >= Number.MIN_VALUE // and -Infinity
      && n <= Number.MAX_VALUE // and +Infinity
      && !(n % 1);             // and non-whole numbers

Number.isSafeInteger = Number.isSafeInteger ||
    n => n === +n                     // all numbers excluding NaN
      && n >= Number.MIN_SAFE_INTEGER // and small unsafe numbers
      && n <= Number.MAX_SAFE_INTEGER // and big unsafe numbers
      && !(n % 1);                    // and non-whole numbers

isNumeric내가 구성 주요 브라우저는 기능을 지원 합니다. 따라서 폴리 필의 크기를 사용할 수 있습니다.

"use strict";

Number.isNumeric = Number.isNumeric ||
    n => n === +n; // all numbers excluding NaN

또는 식을 n === +n수동으로 인라인하십시오 .


jQuery의 IsNumeric 메서드를 사용합니다.

http://api.jquery.com/jQuery.isNumeric/

if ($.isNumeric(id)) {
   //it's numeric
}

수정 : 그것은 정수를 보장하지 않습니다 . 이 :

if ( (id+"").match(/^\d+$/) ) {
   //it's all digits
}

물론 jQuery를 사용하지 않는 솔루션이 작동하는 한 jQuery는 실제로 필수가 아니라고 가정합니다.

참고 URL : https://stackoverflow.com/questions/10270648/determine-if-javascript-value-is-an-integer

반응형