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
"1234" --> true
"12345" --> false
"a234" --> false
function validatePIN (pin) {
//return true or false
if(isNaN(pin)) return false
if(+pin < 0) return false
if(!Number.isInteger(+pin)) return false
for(i=0;i<pin.length;i++) {
if(pin[i] === '.') {
return false
}
if(pin[i] === '\n') {
return false
}
if(pin[i] === '+' || pin[i] === '-'){
return false
}
}
if(pin.length !== 4 && pin.length !== 6) return false
return true
}
풀고나서 솔루션을 보니까 정규표현식을 사용했더라.. 아 진짜 바보 같다.. 그래서 다시 풀어 봤다.
function validatePIN (pin) {
//return true or false
if(pin.length !== 4 && pin.length !== 6) {
return false
}
for(i=0;i<pin.length;i++) {
if(/\d/g.test(pin[i]) === false){
return false
}
}
return true
}