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

密码验证合格程序

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

   
 function checkPwd(str) {
            if (str.length <= 8) return 'NG'
                // 验证包含大小写字母,字符串,数字
            let arr = [0, 0, 0, 0]
            for (let char of str) {
                if (/[A-Z]/.test(char)) {
                    // 判断是否有大写字母
                    arr[0] = 1
                } else if (/[0-9]/.test(char)) {
                    arr[1] = 1
                } else if (/[a-z]/.test(char)) {
                    arr[2] = 1
                } else if (/[^a-zA-z0-9 \t \n]/.test(char)) {
                    arr[3] = 1
                }
            }
            function sum(arr) {
                return eval(arr.join('+'))
            }
            if (sum(arr) < 3) return 'NG'
                // 验证 是否包含公共子串
            for (i = 0; i < str.length - 3; i++) {
                let x = str.slice(i, i + 3) // 该方法不包括后面值
                let y = str.slice(i + 3)
                if (y.includes(x)) {
                    // 如果y中有x 则返回 NG  没有则继续循环
                    return 'NG'
                }
            }
            return 'OK'
        }
        let str = readline()
        while (str) {
            console.log(checkPwd(str))
            str = readline()
        }#js#
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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