이 문서의 예에서는 JS를 사용하여 최소한 문자, 대문자 및 소문자 숫자, 문자를 포함하는 비밀번호 수준을 구현하는 두 가지 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 내용은 다음과 같습니다.
머리말
비밀번호는 너무 단순하게 설정하면 쉽게 깨질 수 있으므로 많은 웹사이트에서는 비밀번호에 대해 매우 엄격한 요구 사항을 설정하고 있습니다. 일반적으로 문자, 숫자, 문자 3개 중 2개를 사용하고 대소문자를 구분합니다. 비밀번호를 너무 간단하게 설정하면 오류 메시지가 표시됩니다. 또는 사용자가 고급 비밀번호를 설정할 수 있도록 비밀번호 수준(낮음, 중간, 높음)을 표시합니다. 그렇다면 JS를 사용하여 구현하는 방법은 무엇입니까?
구현 코드는 다음과 같습니다.
function passwordLevel(password) { var Modes = 0; for (i = 0; i < password.length; i++) { Modes |= CharMode(password.charCodeAt(i)); } return bitTotal(Modes); //CharMode函数 function CharMode(iN) { if (iN >= 48 && iN <= 57)//数字 return 1; if (iN >= 65 && iN <= 90) //大写字母 return 2; if ((iN >= 97 && iN <= 122) || (iN >= 65 && iN <= 90)) //大小写 return 4; else return 8; //特殊字符 } //bitTotal函数 function bitTotal(num) { modes = 0; for (i = 0; i < 4; i++) { if (num & 1) modes++; num >>>= 1; } return modes; } }
사용
일반적인 사용
사용 구문: 비밀번호레벨(문자열)
유효성 검사 규칙: 숫자, 대문자, 소문자, 특수 문자
함수 결과: 비밀번호에 포함된 규칙의 개수를 반환합니다
실행 예:
passwordLevel("123456") //返回1 passwordLevel("Abc'123456") //返回4
jquery.validate.js와 함께 사용:
//添加验证方法:至少包含两种规则 $.validator.addMethod("strongPsw",function(value,element){ if(passwordLevel(value)==1){returnfalse;} returntrue },"格式不符合"); //开始验证 $(".form").validate({ rules:{ pwd:{ required:true, //必填 minlength:6, //最小长度 maxlength:32, //最大长度 strongPsw:true, //密码强度 }, repwd:{ required:true, minlength:6, maxlength:32, equalTo:"#pwd" //再次填写密码需一致 } } });
비밀번호 생성 및 강도 감지에 관심이 있는 친구는 온라인 도구를 참조할 수도 있습니다:
이 기사가 모든 사람의 JavaScript 프로그래밍 설계에 도움이 되기를 바랍니다.