利用正則表達(dá)式判斷一個(gè)給定的字符是否是回文
如果給定的字符串是回文,返回true,反之,返回false。
如果一個(gè)字符串忽略標(biāo)點(diǎn)符號(hào)、大小寫和空格,正著讀和反著讀一模一樣,那么這個(gè)字符串就是palindrome(回文)。
注意你需要去掉字符串多余的標(biāo)點(diǎn)符號(hào)和空格,然后把字符串轉(zhuǎn)化成小寫來(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)換成小寫
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è)給定的字符是否是回文,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
只能是字母或數(shù)字或者是字母和數(shù)字的組合的正則previousSibling
只能是字母或數(shù)字或者是字母和數(shù)字的組合的正則previousSibling...2007-03-03
正則表達(dá)式在javascript中的幾個(gè)實(shí)例
正則表達(dá)式在javascript中的幾個(gè)實(shí)例...2006-06-06
js replace正則相關(guān)的詭異問(wèn)題
最近做會(huì)員個(gè)人身份頁(yè)的時(shí)候遇上如下問(wèn)題2009-10-10
正則表達(dá)式中環(huán)視的簡(jiǎn)單應(yīng)用示例【基于java】
這篇文章主要介紹了正則表達(dá)式中環(huán)視的簡(jiǎn)單應(yīng)用,簡(jiǎn)單分析了環(huán)視的概念與功能,并基于java給出了正則表達(dá)式環(huán)視的具體使用技巧,需要的朋友可以參考下2017-04-04
最全的用正則批量去除Teleport Pro整站下載文件冗余代碼
有時(shí)候我們用Teleport Pro整站下載系統(tǒng),批量下載一個(gè)網(wǎng)站的內(nèi)容時(shí),里面會(huì)加入一些冗余代碼,而且大多都不一樣,這時(shí)候我們就只好用正則表達(dá)式來(lái)替換了2013-11-11
javascript正則表達(dá)式標(biāo)記中/g /i /m的用法,以及實(shí)例
正則的思想都是一樣的,但是具體的寫法會(huì)有所不同,在這里提到的/g,/i,/m在其他的地方也許就不能用了,需要的朋友可以參考下2020-02-02

