Javascript 用颜色突出显示所有排除的字符

Javascript highlight all excluded characters with a color

我想在 Javascript 中创建一个正则表达式,用 <span></span> 突出显示列表中所有排除的字符。有人可以帮我创建这个复杂的正则表达式吗?

示例文本:This is a text 莊子 that contains · forbidden characters.

需要转换为:This is a text <span>莊</span><span>子</span> that contains <span>·</span> forbidden characters.

允许的字符列表:a-z, A-Z, 0-9, +%#()*+,-/:;<=>?_€£¥§ÄÅÜäèéìñòöùü=“”‘’'"

谢谢你帮助我!

您可以使用取反模式:

str = str.replace(/[^ \w+%#()*+.,/:;<=>?€£¥§ÄÅÜäèéìñòöùü=“”‘’'"-]/g, '<span>$&</span>');

//=> This is a text <span>莊</span><span>子</span> that contains <span>·</span> forbidden characters.

RegEx Demo