문제

  • 주어진 문자열이 0부터 9까지의 숫자라면 true를 반환하고, 그렇지 않으면 false를 반환한다.

풀이 01

function isDigit(str) {
  if (str.match(/^[0-9]$/g)) {
    return true;
  } else {
    return false;
  }
}

isDigit('');    // false
isDigit('0');   // true
isDigit('a');   // false
isDigit('9');   // true
isDigit('10');  // false

정규표현식 (RegExp)

  • match(): 문자열에서 정규식과 일치하는 문자를 검색하고, 배열로 반환한다.
  • ^: 입력의 시작 부분에 대응
  • $: 입력의 끝 부분에 대응
  • g: 전역 검색

풀이 02

function isDigit(str) {
  return str.match(/^[0-9]$/g) ? true : false;
}

isDigit('');    // false
isDigit('0');   // true
isDigit('a');   // false
isDigit('9');   // true
isDigit('10');  // false

풀이 03

function isDigit(str) {
  return /^[0-9]$/g.test(str);
}

isDigit('');    // false
isDigit('0');   // true
isDigit('a');   // false
isDigit('9');   // true
isDigit('10');  // false

정규표현식 (RegExp)

  • test(): 대응되는 문자열이 있는지 검색하고, true/false를 반환한다.

풀이 04

function isDigit(str) {
  return str.length === 1 && str >= '0' && str <= '9';
}

isDigit('');    // false
isDigit('0');   // true
isDigit('a');   // false
isDigit('9');   // true
isDigit('10');  // false