我正在尝试删除字符串中所有非字母或数字的字符。我尝试使用正则表达式进行 String.prototype.replace
,但它没有删除预期的字符:
this.colorPreset1 = this.colorPreset1.replace(/^[0-9a-zA-Z]+$/, '');
最佳答案
this.colorPreset1=this.colorPreset1.replace(/[^0-9a-zA-Z]/g, '');
字符组已更改为排除组。 [^]
将匹配列表中没有的任何字符。正如您所拥有的那样,它只会匹配您想要保留的字符。
字符串的 anchor 已删除 - 您想要替换任何非字母数字字符,因此它们位于何处并不重要。
添加了全局标志 //g
,因此它将替换所有匹配项,而不仅仅是第一个匹配项。
关于javascript - 使用 String.prototype.replace 删除非字母数字文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52706916/