오늘은 이전 팀프로젝트를 하면서 유효성 검사부분 중 피드백으로 받은 정규표현식 비밀번호에 대해 알아보고자 만들어봤다
html
<label>비밀번호<input id="user_pw" type="password"></label>
<label>비밀번호 재확인<input id="user_pw_cf" type="password"></label>
자바스크립트
// 패스워드 입력시 영문자, 숫자, 특수기호 조합
if (PW.value == '') {
alert('비밀번호를 입력하세요.');
PW.focus();
return false;
}
const PWCHECK = /^(?=.*[a-zA-Z])(?=.*[!@#$%^*+=-])(?=.*[0-9]).{8,25}$/;
if (!PWCHECK.test(PW.value)) {
alert('비밀번호는 영문자+숫자+특수문자 조합으로 8~25자리 사용해야 합니다.');
PW.focus();
return false;
}
if (PW_CF.value !== PW.value) {
alert('비밀번호가 일치하지 않습니다.');
PW_CF.focus();
return false;
}
정규식이라는걸 오늘 처음알았는데 뭔가 무궁무진해보였다..
근데 알아두면 확실히 나중에 더 활용하기 좋을거 같기 때문에 팀과제가 끝나면 더 알아보도록 해야겠다.
RegExp()
RegExp 생성자는 패턴을 사용해 텍스트를 판별할 때 사용합니다.
regexObj.test(str)
test() 메서드는 주어진 문자열이 정규 표현식을 만족하는지 판별하고, 그 여부를 true 또는 false로 반환합니다.