abstract:如果給定的字符串是回文,返回true,反之,返回false。如果一個(gè)字符串忽略標(biāo)點(diǎn)符號(hào)、大小寫(xiě)和空格,正著讀和反著讀一模一樣,那么這個(gè)字符串就是palindrome(回文)。注意你需要去掉字符串多余的標(biāo)點(diǎn)符號(hào)和空格,然后把字符串轉(zhuǎn)化成小寫(xiě)來(lái)驗(yàn)證此字符串是否為回文。函數(shù)參數(shù)的值可以為"racecar","RaceCar"和"race CAR"
如果給定的字符串是回文,返回true,反之,返回false。
如果一個(gè)字符串忽略標(biāo)點(diǎn)符號(hào)、大小寫(xiě)和空格,正著讀和反著讀一模一樣,那么這個(gè)字符串就是palindrome(回文)。
注意你需要去掉字符串多余的標(biāo)點(diǎn)符號(hào)和空格,然后把字符串轉(zhuǎn)化成小寫(xiě)來(lái)驗(yàn)證此字符串是否為回文。
函數(shù)參數(shù)的值可以為"racecar","RaceCar"和"race CAR"。
關(guān)鍵代碼:
去掉字符串中的標(biāo)點(diǎn)符號(hào)和空白格??梢杂胹tr.replace()+正則表達(dá)式匹配。
var newStr = str.replace(/[\ |\~|`|\!|\@|\#|\$|\%|\^|\&|\*|\(|\)|\-|\_|\+|\=|\||\|\[|\]|\{|\}|\;|\:|\"|\'|\,|\<|\.|\>|\/|\?]/g,"");
完整代碼如下:
function palindrome(str) { // Good luck! var newStr = str.replace(/[\ |\~|`|\!|\@|\#|\$|\%|\^|\&|\*|\(|\)|\-|\_|\+|\=|\||\|\[|\]|\{|\}|\;|\:|\"|\'|\,|\<|\.|\>|\/|\?]/g,""); var newNewStr = newStr.toLowerCase();//轉(zhuǎn)換成小寫(xiě) var spl = newNewStr.split("");//分割字符串為數(shù)組 var newSpl = spl.reverse();//翻轉(zhuǎn) var newRel = newSpl.join("");//再次轉(zhuǎn)成字符串 if (newNewStr == newRel) {//比較 return true; } else return false; } palindrome("eye");
更多關(guān)于利用正則表達(dá)式判斷一個(gè)給定的字符是否是回文請(qǐng)關(guān)注PHP中文網(wǎng)(ipnx.cn)其它文章!