function fn(char){
const valid = (s) => { // 定义一个验证方法判断是否是a-z或者0-9之间的字符
return (s >= 'a' && s<= 'z') || (s >= '0' && s <= '9')
}
let i = 0, j = char.length - 1;
while(j >= i){
const left = char[i].toLowerCase()
const right = char[j].toLowerCase()
if(!valid(left)){ // 从左到右,把验证不通过的字符跳过
i++
} else if(!valid(right)){ // 从右到左,把验证不通过的字符跳过
j--
} else if(left === right){
i++,
j--
} else { // 到这里还不通过那就不是回文子串了,直接返回false
return false
}
} // 到这里就代表是回文子串,毕竟不是的话就被return出去了
return true
}
console.log(fn('A man, a plan, a canal; Panama'))
console.log(fn('gadsjljkihl; sadg,,l'))