/* Palindrome detection, in Jsish */ function isPalindrome(str:string, exact:boolean=true) { if (!exact) { str = str.toLowerCase().replace(/[^a-z0-9]/g, ''); } return str === str.split('').reverse().join(''); } ;isPalindrome('BUB'); ;isPalindrome('CUB'); ;isPalindrome('Bub'); ;isPalindrome('Bub', false); ;isPalindrome('Never odd or even', false); ;isPalindrome('In girum imus nocte et consumimur igni', false); ;isPalindrome('A man, a plan, a canal; Panama!', false); ;isPalindrome('A man, a plan, a canal; Panama!', true); /* =!EXPECTSTART!= isPalindrome('BUB') ==> true isPalindrome('CUB') ==> false isPalindrome('Bub') ==> false isPalindrome('Bub', false) ==> true isPalindrome('Never odd or even', false) ==> true isPalindrome('In girum imus nocte et consumimur igni', false) ==> true isPalindrome('A man, a plan, a canal; Panama!', false) ==> true isPalindrome('A man, a plan, a canal; Panama!', true) ==> false =!EXPECTEND!= */