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