我正在尝试在Javascript中编写一个函数来删除句子中的所有空格和标点符号,然后检查它是否是回文。我已经完成了大部分工作,但是在运河时期之后它不会删除空间。我怎么能这样做?
function palindrome(str) {
str = str.toLowerCase();
str = str.replace(/\s+/g, '');
str = str.replace(/,/g , "");
str = str.split('.').join(' ');
document.write(str);
if(str.split("").reverse().join("") === str) {
return true;
}
else {
return false;
}
}
palindrome("A man, a plan, a canal. Panama");
答案 0 :(得分:1)
我会使用一个替换空格,逗号和句号
function palindrome(str) {
str = str.toLowerCase();
str = str.replace(/[\s,\.]+/g, '');
document.write(str);
if(str.split("").reverse().join("") === str) {
return true;
}
else {
return false;
}
}
console.log(palindrome("A man, a plan, a canal. Panama"));

答案 1 :(得分:1)
检查方式:
function palindrome(str) {
str = str.match(/[a-z]+/gi).join("").toLowerCase();
document.body.innerHTML = str;
return(str.split("").reverse().join("") === str);
}
palindrome("A man, a plan, a canal. Panama");
答案 2 :(得分:0)
使用regx可能有更好的方法,但你可以
class Job {
function execute() {
// The following code are in separate classes but listed here for easier to follow.
$cache = new Memcached();
$cache->addServer(...);
$link = mysqli_init(...);
mysqli_real_connect($link, ...);
$res = $cache->get(...);
if (!$res) {
$res = mysqli_query($link, $sql);
}
// Process the result.
}
}
$job = new Job();
$job->execute();
// Most of the time, it crashes after the last line (i.e. after invoking destructor/shutdown hook).