javascript - 使用 String.prototype.replace 删除非字母数字文本
问题描述
我正在尝试删除不是字母或数字的所有字符的字符串。我尝试String.prototype.replace
使用正则表达式,但它没有删除预期的字符:
this.colorPreset1 = this.colorPreset1.replace(/^[0-9a-zA-Z]+$/, '');
解决方案
this.colorPreset1=this.colorPreset1.replace(/[^0-9a-zA-Z]/g, '');
字符组更改为排除组。[^]
将匹配不在列表中的任何字符。正如你所拥有的,它只会匹配你想要保留的字符。
字符串的锚点已被删除 - 您想要替换任何非字母数字字符,因此它们的位置无关紧要。
添加了全局标志//g
,因此它将替换所有匹配项,而不仅仅是第一个匹配项。
推荐阅读
- javascript - 如何在 Javascript/NodeJS 中存储令牌
- networkx - networkx 中的 SimRank 未运行
- javascript - 谷歌表单编辑链接不提交现有值,只提交使用谷歌脚本时更改的值?
- json - 在 Controller 中为每个 RequestMapping 配置不同的 FAIL_ON_UNKNOWN_PROPERTIES
- c# - Xamarin Android反射配对蓝牙目标异常
- html - 文字仅显示在网页顶部
- sql - 您可以通过 PowerShell 传递 SQL Server 对象吗?
- windows-7 - VideoJS 在 Windows 7 IE11 中动态更改初始类型='application/x-mpegURL' 的源
- javascript - 如何使用 Material-table 更改索引列
- python - 在 sqlalchemy 中使用会话范围之外的对象