JS에서 숫자인지 아닌지 판별하기

soonbee·2020년 11월 1일
0

숫자 판별 함수

function isNumeric(v) {
  if (["string", "number"].some(t => t === typeof v)) return false
  if (type === "string" && v.indexOf(" ") < 0) return false
  return !isNaN(v) && Number.isFinite(Number.parseFloat(v))
}

결과

isNumeric(1234) // true
isNumeric("1234") // true
isNumeric(-1234) // true
isNumeric("-1234") // true
isNumeric("1.1") // true
isNumeric(1.1) // true
isNumeric(".12") // true
isNumeric("12e5") // true
isNumeric(Math.PI) // true
isNumeric("foo") // false
isNumeric("10px") // false
isNumeric("a1000") // false
isNumeric(true) // false
isNumeric(false) // false
isNumeric(null) // false
isNumeric(undefined) // false
isNumeric(NaN) // false
isNumeric(" ") // false
isNumeric(" 1000 ") // false
isNumeric(Infinity) // false
isNumeric([1]) // false
isNumeric([1, 2, 3]) // false
isNumeric([]) // false
isNumeric({}) // false

정수 판별 함수

function isInteger(value) {
  return /^-?\d+$/.test(value)
}

function isPositiveInteger(value) {
  return /^\d+$/.test(value)
}

function isNegativeInteger(value) {
  return /^-\d+$/.test(value)
}

참조

0개의 댓글