js 의 setCustomValidity 사용한 비번 체크

new
<script>
    function oninput_form_password(f){
        f.newpassword.setCustomValidity('');
        if(f.newpassword.value.length < f.newpassword.minLength){
            f.newpassword.setCustomValidity(`새 비밀번호는 ${f.newpassword.minLength}자리 이상이어야 합니다.`);
        }else if(f.newpassword.value.length > f.newpassword.maxLength){
            f.newpassword.setCustomValidity(`새 비밀번호는 ${f.newpassword.maxLength}자리 이하이어야 합니다.`);
        }else{
            const v = f.newpassword.value;
            if(/[^0-9a-zA-Z\!@#$%\^&\*]/.test(v)){
                f.newpassword.setCustomValidity('새 비밀번호에 허용되지 않는 문자가 사용되었습니다.');
            }else if(!(/[0-9]/.test(v))){
                f.newpassword.setCustomValidity('새 비밀번호에 숫자가 사용되지 않았습니다.');
            }else if(!(/[a-zA-Z]/.test(v))){
                f.newpassword.setCustomValidity('새 비밀번호에 영문이 사용되지 않았습니다.');
            }else if(!(/[\!@#$%\^&\*]/.test(v))){
                f.newpassword.setCustomValidity('새 비밀번호에 특수문자가 사용되지 않았습니다.');
            }
        }

        f.newpassword_confirmation.setCustomValidity('');
        if(f.newpassword.value != f.newpassword_confirmation.value){
            f.newpassword_confirmation.setCustomValidity('새 비밀번호가 일치하지 않습니다.');
        }
    }
</script>



form의 oninput 에 적용하면 된다.



댓글
  • No Nickname
    No Comment
  • 권한이 없습니다.
    {{m_row.m_nick}}
    -
목록형 📅 달력형