繁体   English   中英

JavaScript / jQuery字符串替换似乎可以在regex101上运行,而不能在脚本上运行

[英]JavaScript/jQuery string replace seems to work on regex101 not on script

我有一长串用于过滤产品的字符串。 但是,当用户取消选中复选框时,我需要删除其值。

var filters = '.small, .medium, .big';

现在,使用replace和regex,当用户取消选中特定的复选框时,我试图摆脱一个特定的值,比方说值为“ .small”。

filters = filters.replace('/(, )*.small/g', '');

字符串中的值之前可能有一个逗号,因此我猜想(,)*很适合。 让我们只使用变量而不是“ .small”

filters = filters.replace('/(, )*'+value+'/g', '');

当我将所有这些都放入我的js文件中时,尽管我已经在regex101上进行了验证并且看起来不错,但是replace函数可以执行任何操作。 我忘记了什么吗?

您建立了一个字符串,它将替换您字符串中没有的确切的“ /(,)*。small / g”。 将其解析为正则表达式:

filters = filters.replace(new RegExp('(, )*' + value, "g"), '');

但是为什么不将值保留在数组中呢?比过滤更容易...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM