문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.
s는 길이 1 이상, 길이 8 이하인 문자열입니다.
s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다.
s | return |
---|---|
"a234" | false |
"1234" | true |
function solution(s) {
return (/\d{4}/.test(s) && s.length === 4) || (/\d{6}/.test(s) && s.length === 6)
}
정규식에 분명 길이까지 제한을 줄 수 있을 것 같은데 방법을 결국 못 찾아서 정규식 조건으로 형식을 확인한 다음 길이 조건을 and로 이어줬다. test()
함수는 정규식 형식에 일치하는지 검사해준 후 값을 true 또는 false로 리턴한다.
function alpha_string46(s){
var regex = /^\d{6}$|^\d{4}$/;
return regex.test(s);
}
역시 정규식에 길이를 지정해 줄 수 있는 방법이 있었다. ^을 정규식 시작 지점에, $를 정규식 마지막에 넣어 주면 시작점과 끝점을 지정하여 형식에 정확히 맞는지를 테스트해줄 수 있다. ^\d{6}$
는 결국 숫자로만 이루어진 6자리인지를 검사하는 것이다.