javascript - 使用 String.prototype.replace 删除非字母数字文本

标签 javascript regex

我正在尝试删除字符串中所有非字母或数字的字符。我尝试使用正则表达式进行 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/

相关文章:

javascript - 如何使用装饰器扩展类类型

javascript - 在 bootstrap3 中切换侧边栏?

php - preg_replace 使用模式作为替换数据数组的索引

javascript - 在单个 .js 文件中声明全局常量的安全问题

javascript - jQuery : Sum multiple select value if only selected

javascript - TypeScript 不考虑未定义的三元运算符

java - 用户名的正则表达式会增加 CPU 消耗

javascript - 正则表达式不适用于字符串名称

regex - 在Sublime Text 3中搜索不包含特定字符串的文件

objective-c - NSString:blabla.DDD+DDDD 的正则表达式,其中 D 是数字