gpt4 book ai didi

javascript jquery 正则表达式替换

转载 作者:行者123 更新时间:2023-11-30 10:51:15 25 4
gpt4 key购买 nike

我正在尝试创建一个动态搜索栏,我需要帮助。

现在我正在尝试用另一个字符串替换一个字符串,但我似乎无法成功。

我从用户那里得到输入:

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

现在我想用“|”替换空格“”在我的正则表达式中使用它作为 OR。

例如,如果用户写的是“Turkey Alanya”,我希望它是“Turkey|Alanya”,以便同时搜索 Turkey OR Alanya。

我试过类似的方法,但没有用

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)

而且我可以像这样替换不区分大小写的字符串,我如何在 js 中执行此操作?

我在 PHP 中使用了最后一个表达式来突出显示结果中的关键字,我想在 js 中也这样做。

希望能得到一些帮助,在此先感谢! :)

祝好,亚历山大

最佳答案

使用replace有两个问题在这条线上:

location_keyword.replace(" ","|");
  • 它不修改字符串——它返回一个新字符串。您需要将调用结果重新分配给原始变量,否则您将看不到更改后的字符串。
  • 除非您使用带有 g(全局)标志的正则表达式,否则它只会替换第一次出现的地方。

试试这个:

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

关于javascript jquery 正则表达式替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5172816/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com