【发布时间】:2015-12-04 08:59:49
【问题描述】:
function palindrome(str) {
var strReverse=str.toLowerCase().replace(/\W+/g,'').split('').reverse().join('');
if(strReverse===str)
return true;
else
return false;
}
该程序应检查以下回文:
palindrome("eye") should return true.
palindrome("race car") should return true.
palindrome("not a palindrome") should return false.
palindrome("A man, a plan, a canal. Panama") should return true.
palindrome("never odd or even") should return true.
palindrome("nope") should return false.
palindrome("almostomla") should return false.
palindrome("My age is 0, 0 si ega ym.") should return true.
palindrome("1 eye for of 1 eye.") should return false.
palindrome("0_0 (: /-\ :) 0-0") should return true.
但它不适用于多字符串行。我认为这是因为RegEx,但我似乎无法找到究竟是什么错误。
【问题讨论】:
-
尝试打印字符串和反转字符串。这将帮助您找到问题。
-
只需使用
if(strReverse===str.toLowerCase().replace(/\W+/g, ''))条件。
标签: javascript regex palindrome