题解 | #密码强度等级#

密码强度等级

https://www.nowcoder.com/practice/52d382c2a7164767bca2064c1c9d5361

let str = readline();
function lenResult(s) {
    let len = s.length;
    if(len <= 4) return 5;
    if(len <= 7) return 10;
    if(len >= 8) return 25;
}
function hasZimuResult(s) {
    let aLen = s.replace(/[^a-z]+/g, "").length;
    let ALen = s.replace(/[^A-Z]+/g, "").length;
    if(aLen == 0 && ALen == 0) return 0;
    if(aLen != 0 && ALen != 0) return 20;
    return 10;
}
function hasNumberResult(s) {
    let l = s.replace(/[^0-9]+/g, "").length;
    if(l == 0) return 0;
    if(l == 1) return 10;
    if(l > 1) return 20;
}
function hasFuhaoResult(s) {
    let l = s.replace(/[a-zA-Z0-9\s]+/g, "").length;
    if(l == 0) return 0;
    if(l == 1) return 10;
    if(l > 1) return 25;
}
function caculResult(s) {
    let a = lenResult(s);
    let b = hasZimuResult(s);
    let c = hasNumberResult(s);
    let d = hasFuhaoResult(s);
    let sum = a + b + c + d;
    if(b == 20 && c > 0 && d > 0) return sum + 5;
    if(b > 0 && c > 0 && d > 0) return sum + 3;
    if(b > 0 && c > 0) return sum + 2;
    return sum;
}
function saveReasult() {
    let sum = caculResult(str);
    if(sum >= 90) return "VERY_SECURE";
    if(sum >= 80) return "SECURE";
    if(sum >= 70) return "VERY_STRONG";
    if(sum >= 60) return "STRONG";
    if(sum >= 50) return "AVERAGE";
    if(sum >= 25) return "WEAK";
    if(sum >- 0) return "VERY_WEAK";
}
console.log(saveReasult());


全部评论

相关推荐

赛博小保安:你这简历没啥大问题的,经历技能也足够了,问题应该就是出在出身了,学院本就是这样,HR忙着跟92的勾搭呢,哪有心思看我们这些双非😿😭
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务