如何修改JavaScript的replace正则,保留路径允许的-和_字符?
解决方法
只需要把允许的-和_添加到正则的否定字符集合中即可,修改后的代码如下:
const cleanedPath = yourOriginalString.replace(/[^a-z0-9_-]/gi, '');
说明:
- 正则表达式中的
[^...]表示匹配不在括号内的任意字符,把_和-加入括号内,就意味着这两个字符不会被匹配(也就不会被替换为空字符串)。 - 末尾的
gi修饰符保持不变:g表示全局替换所有符合条件的字符,i表示忽略大小写,确保大小写字母都能被保留。
举个实际例子:
const testStr = "My*Test/Path-For_Storage!123"; const result = testStr.replace(/[^a-z0-9_-]/gi, ''); console.log(result); // 输出 "MyTestPath-For_Storage123"
内容的提问来源于stack exchange,提问作者sal3jfc
相关产品推荐
相关产品推荐

