다음 조건을 충족하는지 확인하려면 비밀번호를 확인해야 합니다.
1. 6자 이상
2. 대문자 1개 이상
3. 소문자 1개 이상
4. 숫자 1개 이상
5. 2, 3, 4포인트 외에는 특수문자 금지, 즉 문자와 숫자만 가능
이러한 유형의 검증 문제에서는 의심할 바 없이 정규 표현식이 첫 번째 선택이지만, 정규 표현식을 사용하지 않는 경우 검증 논리를 작성하는 것도 가능합니다.
이 문제에 대해 두 가지 테스트로 나눕니다.
첫 번째 요구 사항에 따라 길이 테스트를 설정합니다.
var lengthValid = function(pass){ return pass.length >= 6; };
2, 3, 4, 5번 항목을 바탕으로 콘텐츠 감지 기능을 구축합니다.
논리는 다음과 같습니다. 비밀번호 문자열에서 대문자, 소문자 및 숫자의 개수를 세어 특수 기호가 발견되면 false가 직접 반환됩니다.
var contentValid = function(pass){ var lowerNum = 0; var upperNum = 0; var numNum = 0; for(var i=0;i<pass.length;i++){ var code = pass.charCodeAt(i); if(code >= 48 && code <= 57){ numNum++; } else if(code >= 65 && code <= 90){ upperNum++; } else if(code >= 97 && code <= 122){ lowerNum++; } else{ return false; } } return lowerNum && upperNum && numNum; };
마지막으로 길이 감지와 내용 감지가 통합되어 비밀번호 확인 기능을 형성합니다.
function validate(password) { return lengthValid(password) && contentValid(password); }
위는 JavaScript 흥미로운 질문: 비밀번호 확인의 내용입니다. PHP 중국어 넷(www.php.cn)에 주목하세요!