function checkPassword(password) {
const isDigitOrLetter = (char) => {
return /[a-zA-Z0-9]/.test(char);
}
// 检查密码中是否包含至少3位数字或字母
let digitOrLetterCount = 0;
for (let i = 0; i < password.length; i++) {
if (isDigitOrLetter(password[i])) {
digitOrLetterCount++;
}
}
if (digitOrLetterCount < 3) {
return false;
}
// 检查密码中是否包含连续或重复的数字或字母(包括正序和倒序)
for (let i = 0; i < password.length - 2; i++) {
if (isDigitOrLetter(password[i]) && isDigitOrLetter(password[i + 1]) && isDigitOrLetter(password[i + 2])) {
let charCode1 = password.charCodeAt(i);
let charCode2 = password.charCodeAt(i + 1);
let charCode3 = password.charCodeAt(i + 2);
// 检查是否连续
if (charCode2 === charCode1 + 1 && charCode3 === charCode1 + 2) {
return false;
}
if (charCode2 === charCode1 - 1 && charCode3 === charCode1 - 2) {
return false;
}
// 检查是否重复
if (password[i] === password[i + 1] && password[i] === password[i + 2]) {
return false;
}
}
}
return true;
}