首页 > 解决方案 > 使用 removeClass 正则表达式删除多个类前缀

问题描述

下面的 jQuery 搜索并删除任何包含我的前缀的类bg-。它用于在主体上删除任何带bg-前缀的类,例如bg-red bg-opacity等等。

我想编辑它以便能够处理多个前缀,即bg-and text-,但我正在努力让它工作。

有人熟悉正则表达式并可以提供帮助吗?

body.removeClass(function (index, css) {
  return (css.match (/(^|\s)bg-\S+/g) || []).join(' ');
});

标签: jqueryregex

解决方案


与您的正则表达式的开头搜索字符串的开头(^)或(|)空格(\s)的开头大致相同,您可以使用相同的方法来搜索前缀的变体

(^|\s)(bg-|ab-|cd-)\S+

这允许前缀bg-, ab-,cd-来演示

现场示例:https ://regexr.com/5h67s


推荐阅读