簡體   English   中英

javascript jquery regexp替換

[英]javascript jquery regexp replace

我正在嘗試創建一個動態搜索欄,我需要幫助。

現在我試圖用另一個字符串替換字符串,但我似乎無法成功。

我從用戶那里得到了輸入:

var location_keyword = $("#si_user_location").val();

現在我想用“|”替換空格“” 在我的正則表達式中使用它作為OR。

例如,如果用戶寫“土耳其阿拉尼亞”,我希望它是“土耳其|阿拉尼亞”,以便搜索土耳其或阿拉尼亞。

我試過這樣的東西,但它沒有用

var location_keyword = $("#si_user_location").val();
location_keyword.replace(" ","|");
var regexp_loc = new RegExp(location_keyword, "i");

我之前在PHP中使用以下表達式執行此操作:

preg_replace('/'.preg_quote($keyword).'/i', "<span>$0</span>", $string)

我可以像這樣替換字符串caseinsensetive,我怎么能在js中這樣做?

我使用PHP中的最后一個表達式突出顯示結果中的關鍵字,我想在js中做。

希望我能得到一些幫助,在此先感謝! :)

最好的問候,亞歷山大

在這一行上使用replace有兩個問題:

location_keyword.replace(" ","|");
  • 它不會修改字符串 - 它會返回一個新字符串。 您需要將調用結果重新分配給原始變量,否則您將看不到更改的字符串。
  • 它只替換第一次出現,除非您使用帶有g (全局)標志的正則表達式。

試試這個:

location_keyword = location_keyword.replace(/ /g, '|');

嘗試這個:

location_keyword  = location_keyword.replace(/\s+/,"|");

這應該工作正常:

location_keyword.replace(/ /g,"|");

希望這可以幫助! :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM