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

密码验证合格程序

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

正则
1、基本格式//.test(str)
2、/[]/表示一个字符,0-9,a-z,A-Z,^0-9a-zA-Z表示数字,字母,其他符号
3、slice(i,i+3),从第i个到i+3个字符

const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;

void async function () {
    // Write your code here
    while(line = await readline()){
        console.log(lengthFn(line) && typeFn(line) && repeateFn(line)? "OK":"NG")
    }
}()

const lengthFn = (paw) => {
    if(paw.length > 8) {
        return true
    }else {
        return false
    }
}

const typeFn = (paw) => {
    let number = 0
    if(/[a-z]/.test(paw)){
        number++
    }
    if(/[A-z]/.test(paw)){
        number++
    }
    if(/[0-9]/.test(paw)){
        number++
    }
    if(/[^0-9a-zA-Z]/.test(paw)){
        number++
    }
    return number>=3? true : false
}

const repeateFn = (paw) => {
    const arr = []
    for(let i = 0; i<paw.length-2; i++){
        const value = paw.slice(i,i+3)
        if(arr.indexOf(value) != -1){
            return false
        }else {
            arr.push(value)
        }
    }
    return true
}

全部评论

相关推荐

01-15 13:45
门头沟学院 Java
牛客92772631...:boss招聘挂岗位是要花钱的,花了钱不挂白不挂,别那么焦虑,但是也要做好跳槽的准备
找实习记录
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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