1. 程式人生 > >正則表示式去除字串的首尾空格,合併字串中的多個空格為一個

正則表示式去除字串的首尾空格,合併字串中的多個空格為一個

今天維護一個簡單的搜尋功能:需求是可以多詞高亮搜尋,那好吧,無非把輸入的字串拆分成一個數組。然後把搜尋到的內容中的這個詞高亮。

1、字串處理

var searchTest=" 你好  妹妹 哎呀   不要啦   ";
//去除開頭空格
searchText=searchTest.replace(/^\s*/g,'');
//去除結尾空格
searchText=searchTest.replace(/\s*$/g,'');
//多個空格合併成一個
searchText=searchTest.replace(/\s{2,}/g," ");
//ok 拆分
searchText=searchTest.split(" "
);

結果如下:

控制檯執行結果

2、高亮方法

var highLight=function(searchTest1,ResultString){
    return eval("ResultString.replace(/"+searchTest1+"/ig,'<span style=background:yellow>$1</span>')")
}
//第一個引數是搜尋的字元,第二個是搜尋到的結果,然後把
//結果中的字元不區分大小寫的全部替換成一個帶背景的html語句,
//用了正則表示式中傳遞引數,得用eval,但是$1(匹配到的第一個字元)
//沒有顯示出來,忘記這個咋拼的了,基本上就這樣。