我想在javascript中构建一个回文检查器.应删除所有非字母字符,以便像“男人,计划,运河.*”这样的短语也可以是回文.
function reverse(str) {
return str.split("").reverse().join("");
}
function palindrome(str) {
str = str.replace(/[^a-zA-Z]+/,"").toLowerCase();
if(str == reverse(str)) {
return true;
}
else {
return false;
}
}
现在,上述行中的错误在哪里?
该代码适用于一些示例.但是例如“一个人,一个计划,一个运河.*”和“从不奇怪甚至”都会返回虚假,意味着某处必须是一个错误.
解决方法:
你需要为你的正则表达式提供global match flag:
/[^a-zA-Z]+/g
^