js

문자열 찾기

호성동쎕쎕이 2020. 10. 21. 15:42

문제 설명

문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴하면 됩니다.

제한 사항

  • s는 길이 1 이상, 길이 8 이하인 문자열입니다.

입출력 예

sreturn

a234 false
1234 true

간단한 코드

function solution(s){
  if (isNaN(s) === true){
      return false
    }
    else {
        return true
    }
}

일단 isNaN이라는 걸로 NaN이 나오는 매개변수를 false로 돌리고
나머지를 true로 둔다

하지만 몇몇 검사에서는 실패가 나오니 정확하지 않는 코드이다 정확한 코드를 찾아 보았다

function solution(s){
  let regex = /^\d{6}$|^\d{4}$/
  return regex.test(s)
}

정규식으로 6인 길이의 조건 4인 길이의 조건을 두고

매개변수안에 숫자가 아닌 다른게 있다면 false가 나오고 숫자만 있다면 true가 나온다