암호 문자열을 첫 번째이자 유일한 인수로 사용하는 JavaScript 함수를 작성해야 합니다.
그런 다음 암호 문자열이 −
인 경우 함수는 true를 반환해야 합니다.-
길이는 최소 6자, 최대 20자입니다.
-
하나 이상의 숫자를 포함합니다.
-
하나 이상의 소문자 영어를 포함합니다.
-
하나 이상의 영문 대문자를 포함합니다.
-
하나 이상의 특수 문자를 포함합니다. 특수 문자:!@#$%^&*()-+
예시
이에 대한 코드는 -
const valid = '12Aatab@';
const invalid = '1234ASD+';
const validatePassword = (str = '') => {
const { length: l } = str;
const strArr = str.split('');
if(l < 6 || l > 20){
return false;
};
const specialCharacters = '!@#$%^&*()-+';
const alphabets = 'abcdefghijklmnopqrstuvwxyz';
const numbers = '0123456789';
const checkWith = (char, set) => set.includes(char);
const containsSpecialCharacter = strArr.some(char => checkWith(char, specialCharacters));
const containsLowercase = strArr.some(char => checkWith(char, alphabets));
const containsUppercase = strArr.some(char => checkWith(char, alphabets.toUpperCase()));
const containsNumber = strArr.some(char => checkWith(char, numbers));
return containsSpecialCharacter && containsLowercase && containsUppercase && containsNumber;
};
console.log(validatePassword(valid));
console.log(validatePassword(invalid)); 출력
콘솔의 출력은 -
true false