ATM machines allow 4 or 6 digit PIN codes and PIN codes cannot contain anything but exactly 4 digits or exactly 6 digits.
If the function is passed a valid PIN string, return true, else return false.
Examples (Input --> Output)
"1234" --> true
"12345" --> false
"a234" --> false
function validatePIN (pin) {
if (!((pin.length === 4) || (pin.length === 6)))
return false;
for (let el of pin) {
if (!(el >= '0' && el <= '9'))
return false;
}
return true;
}
다른 솔루션 중에서 처음 보는 메소드를 발견했다!
.test()
: regexObj.test(str)
로 사용되며, 주어진 문자열이 정규 표현식을 만족하는지 판별하고, 그 여부를 true 또는 false로 반환한다.
function validatePIN(pin) {
return /^(\d{4}|\d{6})$/.test(pin)
}
아직 정규표현식을 약간 읽을 줄만 알지, 제대로 사용해 본 적은 없는 것 같은데, 날 잡고 익혀놔야겠다. 은근 문제를 풀 때 다양한 방식으로 메소드들과 활용되는 것 같다.