正则 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 }