题解 | #密码验证合格程序#
密码验证合格程序
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#

查看10道真题和解析