当前位置:首页 / 文章测试 / 密码强度

密码强度

开始打字练习

function validatePasswordStrength(password) {

if (password.length < 8 || password.length > 20) {

return { valid: false, msg: "密码长度必须为8-20位" };

}

let hasUpper = /[A-Z]/.test(password);

let hasLower = /[a-z]/.test(password);

let hasDigit = /[0-9]/.test(password);

let hasSpecial = /[!@#$%^&*()_+=\-[\]{};':"\\|,.<>/?]/.test(password);

let categoryCount = [hasUpper, hasLower, hasDigit, hasSpecial].filter(Boolean).length;

if (categoryCount < 3) {

return { valid: false, msg: "密码必须包含大写字母、小写字母、数字、特殊符号中的至少三类" };

}

// 检查连续重复字符(如 aaaa)

if (/(.)\1{3,}/.test(password)) {

return { valid: false, msg: "密码中不能出现连续4个及以上相同字符" };

}

return { valid: true, msg: "密码强度合格" };

}

// 测试

console.log(validatePasswordStrength("Abc123!@#"));

声明:以上文章均为用户自行发布,仅供打字交流使用,不代表本站观点,本站不承担任何法律责任,特此声明!如果有侵犯到您的权利,请及时联系我们删除。