题解 | #密码验证合格程序#

密码验证合格程序

http://www.nowcoder.com/practice/184edec193864f0985ad2684fbc86841

while(line = readline()) {
    console.log(validate(line))
}
function validate(str) {
    let valid = "NG"
    let validStr = str.length > 8
    let validRepeat = repeat(str)
    let validTypes = types(str)
    if(validStr && validRepeat && validTypes) {
        valid = "OK"
    }
    return valid
}
function types(str) {
    let num = 0
    if(/[a-z]/.test(str)) {
        num++
    }
    if(/[A-Z]/.test(str)) {
        num++
    }
    if(/[0-9]/.test(str)) {
        num++
    }
    if(/[^0-9a-zA-Z]/.test(str)) {
        num++
    }
    return num >= 3
}
function repeat(str) {
    const arr = []
    for(let i=0; i<str.length-2; i++) {
        const sub = str.substring(i, i+3)
        if(arr.indexOf(sub) >= 0) {
            return false
        } else {
            arr.push(sub)
        }
    }
    return true
}
全部评论
这个答案虽然通过了用例,但是没有判断输入的其他符号不包含空格、换行
1 回复 分享
发布于 2022-08-19 16:56 广东

相关推荐

10-28 22:01
已编辑
门头沟学院 测试开发
菜鸡求毕业:这么快啊?感觉我们这边面的时候都特别敷衍,感觉不缺人的样子
投递比亚迪等公司6个岗位
点赞 评论 收藏
分享
评论
23
3
分享

创作者周榜

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