passwordValidation.js
Codewars 알고리즘 풀이
Problem
- You need to write regex that will validate a password to make sure it meets the following criteria:
- 비밀번호가 다음 기준을 충족하는지 확인하는 정규식을 작성한다.
At least six characters long (6자 이상)
Contains a lowercase letter (소문자 포함)
Contains an uppercase letter (대문자 포함)
Contains a number (숫자 포함)
- Valid passwords will only be alphanumeric characters.
- 유효한 비밀번호는 영숫자 문자이다.
Solution 01
function passwordValidation(password) {
return password.length >= 6 &&
/[a-z]/.test(password) &&
/[A-Z]/.test(password) &&
/[0-9]/.test(password) &&
/^[a-zA-Z0-9]+$/.test(password);
}
passwordValidation('password'); // false
passwordValidation('Password'); // false
passwordValidation('12345678'); // false
passwordValidation('Password123'); // true
passwordValidation('password123'); // false
passwordValidation('Password12#'); // false
Solution 02
function passwordValidation(password) {
return /^[a-zA-Z0-9]{6,}$/.test(password) &&
/[a-z]+/.test(password) &&
/[A-Z]+/.test(password) &&
/[0-9]+/.test(password);
}
passwordValidation('password'); // false
passwordValidation('Password'); // false
passwordValidation('12345678'); // false
passwordValidation('Password123'); // true
passwordValidation('password123'); // false
passwordValidation('Password12#'); // false
Solution 03
function passwordValidation(password) {
const regExp = /^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])[a-zA-Z0-9]{6,}$/;
return regExp.test(password);
}
passwordValidation('password'); // false
passwordValidation('Password'); // false
passwordValidation('12345678'); // false
passwordValidation('Password123'); // true
passwordValidation('password123'); // false
passwordValidation('Password12#'); // false
Solution 04
function passwordValidation(password) {
const regExp = /^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])\w{6,}$/;
return regExp.test(password);
}
passwordValidation('password'); // false
passwordValidation('Password'); // false
passwordValidation('12345678'); // false
passwordValidation('Password123'); // true
passwordValidation('password123'); // false
passwordValidation('Password12#'); // false