//비밀번호를 확인하고, 확인에 성공하면 true를 반환하고, 확인에 실패하면 false를 반환합니다.
function?checkPassword(password){
var?numberCount ,/ /숫자 개수
letterCount, //영문자 개수
numberRegExp?=?/[0-9]/, //숫자 규칙성
< p>letterRegExp? =?/[a-z]/i, //대소문자를 구분하지 않는 일반 문자length?=?(password?=?password?||?'').length; p>< p>if(length?lt;?8){
return?false;
}
numberCount?=?letterCount?=?0 ;
p>
for(var?i?=?0,?char;?i?lt;?length;?i){
char?=?password .charAt(i);// 각 문자 가져오기
if(numberRegExp.test(char)){
numberCount =?1? ?
} else?if(letterRegExp.test(char)){
letterCount? =?1; //문자 수에 1을 더하시겠습니까?
< p>}else{return?false; //문자도 숫자도 아닌 경우 false를 직접 반환합니다.
}
}
return?!(numberCount?==?length? ||?letterCount?==?length);
}
일반 규칙을 사용하지 않는 또 다른 최적화 버전 at all //비밀번호를 확인하고, 확인에 성공하면 true를 반환하고, 확인에 실패하면 false를 반환합니다.
function?checkPassword(password){
function?isNumber(charCode) { //48은 문자 '0'의 유니코드 코드이고, 57은 문자 '9'의 유니코드 코드입니다. return?charCode?gt;=?48?amp;amp;?charCode?lt;=?57 p>
}
function?isLetter(charCode){ //65는 문자' A'의 유니코드 코드이고, 90은 문자 'Z'의 유니코드 코드입니다. //90은 유니코드 코드입니다. 문자 'a'의 122는 문자 'z'의 유니코드 코드입니다. return?(charCode?gt;=?65?amp;amp ;?charCode?lt;=?90)? ||?(charCode?gt;= ?97?amp;amp;?charCode?lt;=?122);
}
< p>var?numberCount, //숫자 개수letterCount , //영문자 수
length?=?(password?=?password?||?'') length;
if(length?lt;?8) {
return?false;
}
numberCount
?=?letterCount?=?0;
for(var?i?=?0,?charCode;?i?lt;?length;?i){
charCode= ?password.charCodeAt(i); //각 문자 가져오기
if(isNumber(charCode)){
numberCount =?1? 문자?
}else?if(isLetter(charCode)){
letterCount? =?1; //알파벳 문자 수에 1을 더하시겠습니까?
}else{< /p>
return?false;//문자나 숫자가 아닌 경우 false를 직접 반환합니다.
}
}
return?!(numberCount ?==?length?||?letterCount?==?length);
}
정규 표현식만 사용하면 매우 어렵습니다. 제 능력은 한계가 있어서 달성할 수 없습니다.