利用正則表達(dá)式判斷一個(gè)給定的字符是否是回文
如果給定的字符串是回文,返回true,反之,返回false。
如果一個(gè)字符串忽略標(biāo)點(diǎn)符號(hào)、大小寫和空格,正著讀和反著讀一模一樣,那么這個(gè)字符串就是palindrome(回文)。
注意你需要去掉字符串多余的標(biāo)點(diǎn)符號(hào)和空格,然后把字符串轉(zhuǎn)化成小寫來驗(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)換成小寫 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");
以上所述是小編給大家介紹的利用正則表達(dá)式判斷一個(gè)給定的字符是否是回文,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
正則表達(dá)式中test、exec、match的區(qū)別介紹及括號(hào)的用法
這篇文章主要介紹了正則表達(dá)式中test、exec、match的區(qū)別介紹及括號(hào)的用法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-09-09PHP preg match正則表達(dá)式函數(shù)的操作實(shí)例
在php中preg_match()函數(shù)是用來執(zhí)行正則表達(dá)式的一個(gè)常用的函數(shù)。本文給大家介紹PHP preg match正則表達(dá)式函數(shù)的操作實(shí)例,需要的朋友參考下2016-04-04asp.net(c#) 使用Rex正則來生成字符串?dāng)?shù)組的代碼
我們在項(xiàng)目中,經(jīng)常要使用正則表達(dá)式,現(xiàn)在有一個(gè)工具可以按正則表達(dá)式生成數(shù)據(jù).正則表達(dá)式的語法忘記了嗎?2010-05-05js正則表達(dá)式中的單行模式與多行模式實(shí)例分析
這篇文章主要介紹了js正則表達(dá)式中的單行模式與多行模式,實(shí)例分析了js正則表達(dá)式中實(shí)現(xiàn)單行模式與多行模式的技巧,需要的朋友可以參考下2015-01-01