我被要求检查一个字符串是否为回文。
不区分大小写。忽略所有非字母字符。
function palindrome(str) {
var oldStr = str.toLowerCase().replace(/\s+|\,|\.|\_|\-|\:|\(|\)|\/|\\/g, '');
var newStr = str.replace(/\s+|\,|\.|\_|\-|\:|\(|\)|\/|\\/g, '').split("").reverse().join("").toLowerCase();
if ( oldStr === newStr){
return true;
}
else {
return false;
}
}
palindrome("ininiNI");
该函数的作用是检查任何字符串是否可能成立。 例如:("0_0 (: /-\ :) 0-0"),根据要求应返回true。
我在JavaScript中找不到比上面这个更好的解决方案。
有没有比仅编写每个可能被删除/替换的字符更快/更好的方法?(特别是因为我编写的远非详尽无遗...)
/[^a-z]/ig
。 - cнŝdk