题解 | #密码验证合格程序#
密码验证合格程序
https://www.nowcoder.com/practice/184edec193864f0985ad2684fbc86841
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()){ let res =await ifValidate(line) console.log(res) } }() async function ifValidate(str){ let count = 0 if(str.length < 9){ return 'NG' } if(/[a-z]/.test(str)){ count++ } if(/[A-Z]/.test(str)){ count++ } if(/[0-9]/.test(str)){ count++ } if(/[^0-9a-zA-Z]/.test(str)){ count++ } if(count >= 3){ if(await ifRepeat(str)){ return 'NG' }else{ return 'OK' } }else{ return 'NG' } } async function ifRepeat(str){ for(let i=0;i<str.length-2;i++){ let subStr = str.substring(i,i+3) let tmpStr = str.substring(0,i)+str.substring(i+3) if(tmpStr.includes(subStr)){ return true }else{ continue } } }
主要修改了判断重复这里,修改了一种自己更好理解的方法
#华为机试,emo了#